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

Dav*_*uer 4 r compilation package

背景

我创建一个newpackage取决于oldpackage,并表示在文件中这种依赖关系newpackage/DESCRIPTION.

此外,

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

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

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

尽管能够在没有指定库的情况下加载包,但是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.
Run Code Online (Sandbox Code Playgroud)

问题:

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

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

Dir*_*tel 7

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

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