我正在Windows机器上使用Rtools30和与RStudio相关联的“Build”工具在R 3.0.1中构建R软件包,我认为这与devtools(它是最新的)绑定在一起。我构建软件包的典型过程是:
如果一切都没有错误或警告,那么我:
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)
另外,当我打开devtools库时,我会注意到这个警告:
WARNING: Rtools 3.0 found on the path at c:/Rtools is not compatible with R 3.0.1.
这很奇怪,从R> 2.15.1到R 3.0.x,Rtools 3.0被认为是好的
任何想法发生了什么?
答案 0 :(得分:11)
这是特定于RStudio的,因为它们从utils中包装和/或更改了许多函数以实现更好的集成。问题在于调用getDependencies()
来检查依赖项。但是该函数还将检查CRAN上是否存在原始包,并在没有时抛出给定的警告。您刚刚在自己的计算机上构建的软件包显然不在CRAN上,因此警告。
在本机install.packages()
的源代码中,如果您从源代码构建或分别从其他存储库安装,则不会调用getDependencies()
。另一方面,RStudio在将所有内容传递给本地getDependencies()
函数之前调用install.packages()
。
据我所知,除了令人困惑的人之外没有进一步的影响。我没有找到一种在RStudio中方便地摆脱这种情况的方法,因为suppressWarnings()
在这种情况下不起作用,因为RStudio处理这个问题很复杂。
在基本的R控制台中,你应该没有任何问题。
所以暂时,我会忽略这一点,并希望RStudio团队有时间处理这个小问题。