【问题标题】:Perl Module InstallationPerl 模块安装
【发布时间】:2010-12-15 17:25:59
【问题描述】:

我正在尝试安装一个名为:File-Copy-Recursive 的 Perl 模块,并且我正在执行以下步骤:

1) 打开 cmd.exe 2) perl -MCPAN -e 'install File::Copy::Recursive;'

我收到消息“您似乎没有安装 C 编译器和 make 实用程序。尝试使用 Perl 包管理器安装 dmake 和 MinGW gcc 编译器。这可能需要几分钟...”

“正在下载 ActiveState 包存储库包列表...失败 500 无法连接到 ppm4.activestate.com:80(连接:超时)。 正在下载文件-复制-递归包列表...未找到 ppm.bat 安装失败:找不到任何提供 MinGW 的包”

这些失败是因为我在代理后面,我知道代理设置,但我不知道如何在这种情况下应用它们。

有人知道此解决方案的任何替代修复吗?

谢谢。

【问题讨论】:

    标签: perl perl-module


    【解决方案1】:

    您似乎正在使用 ActiveState Perl,它带有自己的包管理器(称为 PPM)来减轻安装模块的痛苦,尤其是那些通常需要 C 编译器才能安装的模块。

    尝试按照instructions 设置您的环境,以便 PPM 了解您的代理。例如,为cmd.exe 的单个实例设置代理设置:

    C:\>set http_proxy=http://username:password@proxy.example.org:8080
    

    然后,在同一个命令提示符窗口中,试试这个(它对我有用,虽然我没有使用代理):

    C:\>ppm install File-Copy-Recursive
    

    请注意,运行 cmd.exe "As Administrator" 以确保它具有完全授权可能是一个好主意(甚至可能是必需的?)。

    编辑:您要使用的特定模块是用纯 Perl 编写的。为了快速“安装”,您可以从 CPAN 下载它,解压缩文件,然后将“Recursive.pm”文件复制到与您的脚本位于同一目录中的 File\Copy 目录结构中:

    yourscript.pl
    File\
        Copy\
            Recursive.pm
    

    【讨论】:

    • 谢谢!!!!这解决了它,它要么以管理员身份运行 cmd 和/或设置 http_proxy=username:password@proxy.example.org:8080。谢谢。
    • @Christopher:太好了,很高兴能帮上忙 :-) 如果您能将此答案标记为“已接受”(通过单击计票下方的绿色复选标记轮廓),我将不胜感激跨度>
    【解决方案2】:

    作为替代方案,您可以尝试Strawberry Perl 发行版,它附带用于构建 XS 模块的工具。

    【讨论】:

    • +1。可能对 OP 来说太麻烦了(如果有很多非核心模块需要重新安装),但是在 Strawberry Perl 下安装模块这么多 更容易:D
    【解决方案3】:

    嗨 我猜你正在使用 Activestate Perl

    看看 http://docs.activestate.com/activeperl/5.10/faq/ActivePerl-faq2.html#what_is_ppm

    PPM 与 ActivePerl 一起自动安装。

    要使用 PPM,您的计算机必须连接到 Internet,可以访问本地硬盘驱动器或网络共享上的 PPM 存储库,或者可以访问已安装的 ActiveState ActiveDVD。

    如果您通过防火墙或代理连接到互联网,您可能需要设置 http_proxy 环境变量。有关详细信息,请参阅 PPM、代理和防火墙。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      • 2019-02-27
      • 2013-10-01
      • 2017-06-08
      • 2011-06-15
      • 2013-09-08
      相关资源
      最近更新 更多