我正在尝试安装名为: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的软件包“
这些失败是因为我在代理后面,我知道代理设置,但我不知道在这种情况下如何应用它们。
是否有人知道此解决方案的其他替代方法?
谢谢。
答案 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_ppmPPM随ActivePerl自动安装。
要使用PPM,您的计算机必须连接到Internet,可以访问本地硬盘驱动器或网络共享上的PPM存储库,或者可以访问已安装的ActiveState ActiveDVD。
如果通过防火墙或代理连接到Internet,则可能需要设置http_proxy环境变量。有关详细信息,请参阅PPM,代理和防火墙。