【问题标题】:ActivePerl ppm command errorActivePerl ppm 命令错误
【发布时间】:2013-11-26 14:30:24
【问题描述】:

我安装了

On Windows 7 64-bit OS
ActivePerl 64bit 
Version 5.16.3.1603
on D disk as D:/perl64

我控制了Windows路径,没问题。

D:\perl64\site\bin; D:\perl64\bin;

当我打开 Git Bash 指挥官并输入时

ppm install DBI

ppm install DBD::mysql

它给出了错误;

Can't locate ActivePerl/PPM/limited_inc.pm in @INC (@INC contains:
  /usr/lib/perl5/5.8.8/msys /usr/lib/perl5/5.8.8
  /usr/lib/perl5/site_perl/5.8.8/msys /usr/lib/perl5/site_perl/5.8.8
  /usr/lib/perl5/site_perl .) at /d/perl64/bin/ppm line 4. BEGIN
  failed--compilation aborted at /d/perl64/bin/ppm line 4.

我找不到任何帮助或教程

【问题讨论】:

  • 看起来像 perl 5.8.85.16.3 冲突
  • 你没有使用 ActivePerl。您正在使用 msys 的 Perl。

标签: perl activeperl


【解决方案1】:

您没有使用 ActivePerl。您正在使用msys 的 Perl。据推测,它首先出现在路径中。您需要修改路径或编辑 ppm.bat 以加载正确的 Perl。

【讨论】:

    【解决方案2】:

    要添加到 @ikegami 的答案,msys 已将 perl 安装在 /bin(或 /usr/bin)文件夹中。

    perl.exe, perl5.8.8.exe, msys-perl5_8.dll, perldoc等..

    将这些文件移动到备份文件夹,即 msys_perl

    • cd /bin
    • mkdir msys_perl
    • mv *perl* msys_perl/

    或者如果你不需要它们,你可以删除它们。

    现在 msys 的 Perl 安装不会与您的 ActiveState Perl 版本冲突。

    您可能还需要将 perl.exe 从 ActiveState Perl bin 目录 /c/Perl64/bin/perl.exe 复制到 /usr/bin/,以避免收到 bad interpreter: No such file or directory 错误消息,因为 ppm 从 /usr/bin/perl 读取 p>

    • cp /c/Perl64/bin/perl.exe /usr/bin/

    【讨论】:

    • 辛苦了!为什么不按照我的建议改变路径?
    • 我在你的回答中错过了“大概,它是路径中的第一位”......我很抱歉。乍一看,我以为您是在建议删除 PATH 中包含 Perl 的 msys 版本的目录
    • @ikegami 我修改了路径,因此首先出现了正确的版本,我使用perl -v 进行了验证,但 ppm 仍然从 msys perl 读取。修改 ppm.bat has 似乎也是如此。我想我的解决方案无需修改 ppm.bat(这也是一个只读文件)就可以工作
    • 另外,这可能会严重破坏依赖系统 Perl 的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-13
    • 2013-05-16
    • 2012-12-20
    • 1970-01-01
    • 2016-08-11
    • 2012-10-22
    相关资源
    最近更新 更多