2013-04-26 72 views
1

操作系統:Linux。 Perl版本:5.16.0(使用Perlbrew)。無法安裝WWW :: Mechanize在代理下

我嘗試安裝催化劑,並在描述我究竟得到了失敗的測試:

http://stevemoss.posterous.com/installing-wwwmechanize-and-testwwwmechanize

我下我的工作場所的代理運行時,我已在HTTP_PROXY〜/ .cpan/CPAN/Config.pm,並將no_proxy設置爲以下各項,但不成功: 1.本地主機。 2. 127.0.0.1(本地主機ip)。 3.我已經測試了一個沒有代理的已知的http服務器。 4.空白。

這裏有失敗的測試記錄,最後一個甚至沒有結束,它是停留在44/47:

rlbrew/perls/perl-5.16.0/bin/perl 
# Test::Memory::Cycle 1.04 is installed. 
t/00-load.t .............. ok 
t/add_header.t ........... ok 
t/aliases.t .............. ok 
t/area_link.t ............ ok 
t/autocheck.t ............ ok 
t/clone.t ................ ok 
t/content.t .............. ok 
t/cookies.t .............. # Test server http://127.0.0.1:22443 as PID 4655 
t/cookies.t .............. ok  
t/credentials-api.t ...... Use of uninitialized value in lc at /perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/LWP/UserAgent.pm line 605. 
t/credentials-api.t ...... ok 
t/credentials.t .......... ok  
t/die.t .................. ok 
t/field.t ................ ok 
t/find_frame.t ........... ok 
t/find_image.t ........... ok  
t/find_inputs.t .......... ok  
t/find_link-warnings.t ... ok  
t/find_link.t ............ ok  
t/find_link_id.t ......... ok  
t/form-parsing.t ......... ok 
t/form_with_fields.t ..... 1/? There are 2 forms with the named fields. The first one was used. at t/form_with_fields.t line 27. 
t/form_with_fields.t ..... ok 
t/frames.t ............... ok 
t/image-new.t ............ ok  
t/image-parse.t .......... ok  
t/link-base.t ............ ok 
t/link-relative.t ........ ok 
t/link.t ................. ok  
t/local/back.t ........... 44/47 

回答

2

似乎並不重要的問題。您可以強制安裝模塊:

cpan -f -i WWW::Mechanize 
1

這裏的問題顯然不是你的CPAN客戶無法正常使用代理(它成功地下載軟件包畢竟),但該模塊要安裝或者沒有按」不知道代理服務器還是沒有準備好處理代理服務器。

如果您嘗試安裝的模塊無法處理代理,那麼您運氣不好。

如果它可以,告訴它通過設置相關的環境變量來使用你的代理:

export http_proxy="http://your.proxy.goes.here" 
1

對於本地/ back.t(和其他幾個人的測試),http_proxy暫時禁用。您有可能遭受競爭狀態,臨時服務器(在測試中創建)在http_proxy重新激活之前未被銷燬。

幸運的是,no_proxy在測試過程中未被禁用,它應該能夠解決問題。只要確定將它設置爲「本地主機」而不是「本地主機」,就像您爲選項#1所寫的一樣。

如果這樣做不起作用,請通過臨時將其設置爲外部站點(並且無法達到它)來檢查是否正確配置了NO_PROXY。當然,除去所有提及的http_proxy是另一種選擇,但這有時很尷尬,應該導致其他測試失敗。

+0

我想這個問題沒有真正令人滿意的解決方案,但我不希望浪費浪費,而你的回答對我來說是最有益的。 – 2013-05-03 13:55:03