Perl模块安装

时间:2010-12-15 17:26:00

标签: perl perl-module

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

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

我收到消息“看起来你没有安装C编译器并安装实用程序。尝试使用Perl软件包管理器安装dmake和MinGW gcc编译器。这可能需要几分钟......”

“正在下载ActiveState包存储库packlist ...失败500无法连接到ppm4.activestate.com:80(连接:超时)。 正在下载File-Copy-Recursive packlist ...未找到 ppm.bat安装失败:找不到任何提供MinGW的软件包“

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

是否有人知道此解决方案的其他替代方法?

谢谢。

3 个答案:

答案 0 :(得分:13)

您似乎正在使用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“作为管理员”以确保其拥有完全授权可能是一个好主意(甚至可能需要?)。

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

yourscript.pl
File\
    Copy\
        Recursive.pm

答案 1 :(得分:5)

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

答案 2 :(得分:1)

您好 我猜你使用的是Activestate Perl

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

PPM随ActivePerl自动安装。

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

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