2010-12-15 163 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