我的草莓 perl 安装的 CPAN 过去可以正常工作。前段时间我安装了 Camelbox perl 来获取它的 GTK 库。我修复了路径以不留下 Camelbox 的痕迹,并添加了它的库 PERL5LIB。这解决了我的 GTK-on-Windows-7 问题。
今天,我不得不再次使用CPAN,但它莫名其妙地崩溃了。运行的是草莓 CPAN。
C:\Users\tim>cpan -v
C:\strawberry\perl\bin/cpan script version 1.9, CPAN.pm version 1.9402
当我尝试
get
任何东西——包括已经安装的模块——CPAN 成功删除了一个临时目录,然后突然崩溃。cpan> get List::Object
Running get for module 'List::Object'
Checksum for C:\strawberry\cpan\sources\authors\id\M\MS\MSHILTONJ\List-Object-0.01.tar.gz ok
Scanning cache C:\strawberry\cpan\build for sizes
............................................................................DONE
DEL(1/1): C:\strawberry\cpan\build\tmp-16240
C:\Users\tim>
我得到一个通用的 Windows perl.exe 已停止工作弹出窗口。
我很确定这是由 Camelbox 引起的。我能做些什么来修复或调试这个?我发现没有 CPAN 调试开关。
正如 daxim 建议的那样,我在 perl 调试器中运行 cpan。这里的输出为 RAR (127 KB)和 clear text (10.8 MB) .
最佳答案
I fixed the PATHs to leave no trace of Camelbox, and added its libs PERL5LIB [to a Strawberry installation]
你自己引起的问题是在 C/object 链接级别。为不同版本的 Perl 混合 XS 库是个坏主意。
在 Perl 调试器下运行 CPAN 客户端,启用
t
种族, c
继续直到崩溃发生。最后加载的 Perl 库会提示您有错误的链接库。我的直觉怀疑readline。崩溃发生在 Compress/Raw/Bzip2.pm 第 63 行,即
XSLoader::load('Compress::Raw::Bzip2', $XS_VERSION);
.这会尝试加载 XS Bzip2 DLL,因为我没有安装草莓来检查它的确切名称。在不调用 CPAN 客户端的情况下重新安装此库,或者尝试查找所有部分并删除它们。
关于perl - Camelbox 安装后草莓 CPAN 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5948016/