R 3.0.1软件包构建警告

14

我正在使用Rtools30和与RStudio相关的“Build”工具,在Windows机器上构建R 3.0.1的R包,我假设这与devtools(已更新)有关。我的典型打包过程是:

  1. 加载全部
  2. 重新生成文档
  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.15.1至R 3.0.x

有任何想法是怎么回事吗?


这不是开发工具消息吗?看起来像是过度热情的抱怨,因为RTools(截至2013-06-09)已经更新到3.0版本,而R已经更新到3.0.1版本,所以用户没有太多需要做的。 - mdsumner
1
当您尝试从命令行安装 R CMD INSTALL foo.tar.gz 时会发生什么? - Omar Wagih
命令行工作得很好!“在安装包中发出警告”的消息直接在install.packages调用之后出现...这是一个基本的R函数(不是devtools,对吧?) - ldecicco
1个回答

11

由于 RStudio 编辑器对 utils 中的许多功能进行了包装和/或更改以实现更好的集成,因此此问题是 RStudio 特有的。问题出在调用 getDependencies() 来检查依赖项时。但是,该函数还将检查原始软件包是否存在于 CRAN 上,并在其不存在时抛出给定的警告。您刚刚在自己的计算机上构建的软件包显然不在 CRAN 上,因此会出现警告。

在本机 install.packages() 的源代码中,在从源代码构建或从不同存储库安装软件包的情况下,不会调用 getDependencies()。另一方面,RStudio 在将所有内容传递给本机 install.packages() 函数之前先调用 getDependencies()

据我所知,这对其他影响没有进一步作用,除了让人困惑。我没有找到一种方便的方法来在 RStudio 中摆脱这个问题,因为由于 RStudio 处理方式的复杂性,suppressWarnings() 在这种情况下不起作用。

在基本的 R 控制台中,您不应该有任何问题。

因此,暂时忽略这个问题,并希望 RStudio 团队有时间处理这个小故障。


供参考,此问题已在RStudio报告:http://support.rstudio.org/help/discussions/problems/5811-problem-installing-local-packages - Joris Meys

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接