2013-05-29 91 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-问题的安装和本地套餐 –