【问题标题】:R 3.0.1 package build warningR 3.0.1 包构建警告
【发布时间】:2013-05-24 21:39:52
【问题描述】:

我正在 Windows 机器上使用 Rtools30 和与 RStudio 关联的“构建”工具在 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)

另外,当我打开 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 应该很好

有什么想法吗?

【问题讨论】:

  • 这不是 devtools 消息吗?这似乎是一个过分热心的抱怨,因为 RTools(截至 2013 年 6 月 9 日)是 3.0,而 R 是 3.0.1,所以用户没有什么可做的。
  • 当您尝试从命令行安装时会发生什么:R CMD INSTALL foo.tar.gz
  • 命令行工作得很好! “install.packages 中的警告”消息直接在 install.packages 调用之后出现......这是一个基本的 R 函数(不是 devtools,对吗?)

标签: r rstudio


【解决方案1】:

这是 RStudio 特定的,因为它们包装和/或更改了实用程序中的许多功能以更好地集成。问题在于调用getDependencies() 来检查依赖关系。但该函数还将检查原始包是否存在于 CRAN 上,并在不存在时抛出给定的警告。您刚刚在自己的计算机上构建的软件包显然不在 CRAN 上,因此会发出警告。

在本机 install.packages() 的源代码中,getDependencies() 不会被调用,以防您分别从源代码构建或从不同的存储库安装。另一方面,RStudio 在将所有内容传递给本机 install.packages() 函数之前调用 getDependencies()

据我所知,除了让人们感到困惑之外,这不会产生进一步的影响。我没有找到在 RStudio 中方便地摆脱这个问题的方法,因为 suppressWarnings() 在这种情况下不起作用,因为 RStudio 处理这个问题的方式很复杂。

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

因此,我暂时忽略这一点,并希望 RStudio 团队有时间解决这个小故障。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多