我正在Windows机器上使用Rtools30和与RStudio相关联的'Build'工具在R 3.0.1中构建R软件包,我假设它与devtools(最新版本)绑定在一起.我构建包的典型过程是:
如果一切都没有错误或警告,那么我:
install.packages("foo.tar.gz", repos=NULL, type="source")
Run Code Online (Sandbox Code Playgroud)
自升级到R 3.0.1以来,我现在收到此警告:
Warning in install.packages :
foo.tar.gz is not available (for R version 3.0.1)
Run Code Online (Sandbox Code Playgroud)
我也在安装之前尝试过,它没有摆脱警告:
options(install.packages.check.source = FALSE)
Run Code Online (Sandbox Code Playgroud)
另外,当我打开devtools库时,我注意到这个警告:
WARNING: Rtools 3.0 found on the path at c:/Rtools is not compatible with R 3.0.1.
Run Code Online (Sandbox Code Playgroud)
这很奇怪,从R> 2.15.1到R 3.0.x,Rtools 3.0被认为是好的
有什么想法发生了什么?
Jor*_*eys 11
这是特定于RStudio的,因为它们从utils中包装和/或更改了许多函数以实现更好的集成.问题在于调用getDependencies()依赖关系.但是该函数还将检查CRAN上是否存在原始包,并在没有时抛出给定的警告.您刚刚在自己的计算机上构建的软件包显然不在CRAN上,因此警告.
在本机的源代码中,如果您从源代码构建或分别从不同的存储库安装install.packages(),getDependencies()则不会调用它.另一方面,RStudio在getDependencies()将所有内容传递给本机install.packages()函数之前调用.
据我所知,这除了让人困惑之外没有其他影响.我没有找到一种在RStudio中方便地摆脱这种情况的方法,因为suppressWarnings()在这种情况下由于RStudio处理这种情况的复杂方式不起作用.
在基本的R控制台中,您应该没有任何问题.
所以暂时,我会忽略这一点,并希望RStudio团队有时间来处理这个小问题.