2013-05-29 136 views
14

我正在Windows機器上使用Rtools30和與RStudio相關聯的'Build'工具在R 3.0.1中構建R包,我假設它與devtools綁定在一起-至今)。我構建一個軟件包的典型過程是:R 3.0.1包構建警告

  1. 加載所有
  2. Reoxygenize
  3. 構建&刷新
  4. 檢查
  5. 構建源碼包

如果一切順利沒有錯誤或警告,然後我:

install.packages("foo.tar.gz", repos=NULL, type="source") 

自從升級至R 3.0.1,現在我得到這樣的警告:

Warning in install.packages : 
     foo.tar.gz is not available (for R version 3.0.1) 

我也安裝嘗試過,並沒有擺脫警告:

options(install.packages.check.source = FALSE) 

而且,

WARNING: Rtools 3.0 found on the path at c:/Rtools is not compatible with R 3.0.1. 

這是奇怪的,Rtools 3.0假設是從R> 2好:當我打開devtools庫,我注意到這樣的警告。 15.1至R 3.0.x

任何想法是怎麼回事?

+0

這不是一個devtools消息嗎?這似乎是一個過分熱心的投訴,因爲RTools(截至2013年6月9日)在3.0和R在3.0.1,所以用戶沒有太多的工作。 – mdsumner

+1

當您嘗試從命令行安裝時會發生什麼:'R CMD INSTALL foo.tar.gz'? – by0

+0

命令行工作正常! 'install.packages中的警告'消息直接在install.packages調用後發出......這是一個基本的R函數(不是devtools,對不對?) – JPMac

回答

11

這是RStudio特有的,因爲它們從utils中包裝和/或更改了很多功能以實現更好的集成。問題在於撥打getDependencies()來檢查依賴關係。但是該函數還會檢查原始包是否存在於CRAN中,並在不存在時拋出給定的警告。你剛在自己的電腦上建立的軟件包顯然不在CRAN上,因此是警告。

在原始碼install.packages()的來源中,getDependencies()在您從源代碼構建或從不同存儲庫分別安裝的情況下不會調用。另一方面,RStudio在將所有內容傳遞給本地install.packages()函數之前調用getDependencies()

除了令人困惑的人之外,這對我的知識沒有進一步的影響。由於RStudio處理這種複雜的方式,我沒有找到在RStudio中方便地擺脫這種情況的方法,因爲suppressWarnings()在這種情況下不起作用。

在基本的R控制檯中,您不應該有任何問題。

因此,暫時忽略這一點,希望RStudio團隊有時間照顧這個小故障。

+0

作爲參考,這裏報告給RStudio:http://support.rstudio .ORG /求助/討論/問題/ 5811-問題的安裝和本地套餐 –