【发布时间】:2014-06-19 02:09:30
【问题描述】:
我正在尝试从 ActivePerl 5.12.2(64 位)切换到 Strawberry Perl 5.18.2.2(64 位)。所有这一切都在 Windows 7 Home Premium SP1 64 位。我经历的顺序如下:
1) 将 Strawberry Perl 与旧的 ActivePerl 并排安装。 (我在另一个盒子上做了类似的事情,只是它是 ActivePerl 5.14.2 没有任何问题。)重新排列 %path% 以首先使用 Strawberry Perl。 Perl 经常崩溃。我只能运行“Perl -v”而不会崩溃。
2) 根据网络搜索结果,我卸载了 ActivePerl,卸载了 Strawberry Perl 并删除了所有相关目录。
3) 然后我重新安装了 Strawberry Perl。现在我收到一个错误:“程序无法启动,因为您的计算机中缺少 perl512.dll。”再次一致,除非运行“Perl -v”。
4) 我搜索了注册表,发现只有几个指向某些 ActivePerl(现已删除)目录的指针。没有找到对 perl512.dll 的引用。我删除了 ActivePerl 目录指针。这没有帮助。
搜索这个网站和一般的网络只会产生在安装新的 Perl 之前卸载每个旧的 Perl 安装的建议。
请帮忙...
【问题讨论】:
-
卸载并删除目录后,您的路径中是否还有 perl.exe?
-
是:C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin
-
您可能正在使用与旧 Perl 一起安装的模块。
-
亲爱的@ikegami,你是绝对正确的!罪魁祸首是环境常数 PERL5LIB 指向的目录。在那里我发现了大量的图书馆,我从来没有认真地放在那里,我不知道所有这些是如何到达那里的。 (ActiveState、CPAN 或 CPANM 是否在那里安装模块?)重命名该目录解决了问题!感谢大家的帮助!梅尔
-
您可能使用了 local::lib,这在 Windows 机器上有点傻(忽略您刚刚使用
INSTALL_BASE而不是PREFIX+LIB遇到的问题)。
标签: perl strawberry-perl activeperl