2010-12-15 361 views
4

我试图安装Perl模块,名为:文件复制递归,我以下步骤:的Perl模块安装

1)开放的cmd.exe 2)的perl -MCPAN -e“安装文件: :复制::递归;”

我收到消息“看起来您没有安装C编译器并安装了实用程序,尝试使用Perl程序包管理器安装dmake和MinGW gcc编译器,这可能需要几分钟的时间...... “

” 下载ActiveState的包库packlist ...失败500无法连接到ppm4.activestate.com:80(连接:超时)。 下载文件复制递归packlist ...没有找到 PPM。蝙蝠安装失败:无法找到提供MinGW的”

这些失败,因为我是在一个代理的任何包,我不知道代理设置,但我不知道如何应用它们在这个情况下。

是任何人都知道任何替代修复了这个解决方案的?

谢谢。

回答

13

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

尝试以下的instructions设置你的环境,使PPM知道您的代理。例如,为的cmd.exe单个实例设置代理服务器设置:

C:\>set http_proxy=http://username:[email protected]:8080 

然后,在同一个命令提示符窗口,试试这个(工作对我来说,虽然我不使用代理):

C:\>ppm install File-Copy-Recursive 

注意,这可能是一个好主意(甚至要求?)运行cmd.exe“以管理员身份”,以确保它有充分授权。

编辑:你想要使用的特定模块是用纯Perl编写的。对于一个快速“安装”,你可以从CPAN下载,解压缩文件,并复制“递归。点”文件到放置在同一目录下的脚本文件\复制目录结构:

yourscript.pl 
File\ 
    Copy\ 
     Recursive.pm 
+0

谢谢!。 !!这解决了它,它运行cmd作为管理员和/或设置http_proxy = http:// username:[email protected]:8080。谢谢。 – 2010-12-16 20:08:29

+0

@Christopher:太好了,很高兴得到了帮助:-)如果您可以将此答案标记为“已接受”(点击投票计数下的绿色复选标记轮廓),我将不胜感激 – Cameron 2010-12-16 20:11:02

1

嗨 我猜你正在使用的ActiveState Perl的

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

PPM用的activeperl自动安装。

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

如果您连接到通过防火墙或代理服务器上网,你可能需要设置环境变量http_proxy。见PPM,代理和防火墙以获取更多信息。

5

作为替代你可以试试Strawberry Perl分布,自带的工具建立XS模块

+0

+1。对于OP可能太麻烦了(如果有很多非核心模块将需要安装再次编辑),但在Strawberry Perl下安装模块非常容易:D – Cameron 2010-12-15 18:05:38