2015-09-16 59 views
1

我們有內部本地的cran鏡像,它不需要使用http_proxy。安裝R包時的no_proxy和http_proxy

但是對於某些軟件包,存在從互聯網上下載的第三方依賴關係。示例stringi下載東西叫[1]

那麼如何說R到不使用代理獲取內部鏡像。

我試過下面,它不起作用。

Sys.setenv(http_proxy="http://proxydetails.com") 
Sys.setenv(https_proxy="http://proxydetails.com") 
Sys.setenv(HTTP_PROXY="http://proxydetails.com") 
Sys.setenv(HTTPS_PROXY="http://proxydetails.com") 
Sys.setenv(no_proxy='localmirror.com') 

如果我把所有的人,然後我得到錯誤[2] 如果我註釋掉HTTP_PROXY設置,然後提示錯誤[1]

[1] 錯誤download.file(粘貼( HREF,FNAME,九月= 「」),outfname,模式= 「WB」):無法打開URL '​​'

[2] 錯誤日誌

[雲的用戶@ rstudio-TEST2〜] $ sudo ./install.sh [1] 「stringi」 [1] 「檢查包stringi」 加載所需的程序包:stringi [1] 「安裝包stringi」 警告:無法對存儲庫訪問索引http://localmirror/src/contrib 警告消息: 1:在庫(package,lib.loc = lib.loc,character.only = TRUE,logical.return = TRUE,: 沒有名爲'stringi'的包01​​2:package'stringi'不可用(對於R版本3.1.2 )

回答

2

我有同樣的問題,並設法通過設置兩個R選項來解決這個問題:

  • 選項(download.file.method = 「捲曲」):集合R下載方法捲曲

  • 選項(download.file.extra = paste0( 「 - NOPROXY」 your_internal_cran_hostname)):DO不使用代理這個特定的主機

似乎如R默認的下載方法僅支持NO_PROXY =「*」,這就是爲什麼你必須使用捲曲來代替。

您可以在您的R_HOME/etc/.Rprofile中包含這兩行,以使這些更改持久化。

希望這會有所幫助! PS:如果你想刪除下載過程中打印的紅色信息,你可以在download.file.extra上添加一個「-s」選項。