由于包依赖性导致R CMD检查错误

时间:2011-06-21 22:55:47

标签: r compilation package

背景

我正在创建依赖于 oldpackage newpackage ,并在文件newpackage/DESCRIPTION中表明了这种依赖关系。

此外,

  • oldpackage 安装在目录~/lib/R

  • 我的.Rprofile包含.libPaths("~/lib/R")

    • 因此,我可以成功加载 oldpackage 而不指定库位置,例如,使用R中的library(oldpackage)命令

尽管能够在没有指定库的情况下加载包,R CMD check newpackage会出现错误,表明它无法正常 oldpackage

checking whether the package can be loaded ... ERROR 
Loading required package: oldpackage
Error: package 'oldpackage' could not be loaded
In addition: Warning message:
In library(pkg, character.only = TRUE, logical.return = TRUE, lib.loc = lib.loc) :
  there is no package called 'oldpackage'
Execution halted


It looks like this package has a loading problem: see the messages for
    details.

问题:

  1. 为什么R无法找到包裹?

  2. 我可以在DESCRIPTION文件中指定库位置吗?

1 个答案:

答案 0 :(得分:7)

关于问题1),它既是常见问题,又有点烦人。 R CMD check以vanilla模式运行,因此无法找到用户级库。我记得,在通话中设置R_LIBS =“....”有帮助,所以试试吧。

关于问题2),不,你不能在DESCRIPTION中给出一个位置。这是有意义的,因为该文件需要“无处不在”,而您的位置信息是您的机器的本地信息。