由于包依赖关系,R CMD检查出错 背景
我正在创建一个依赖于oldpackage的newpackage,并在文件由于包依赖关系,R CMD检查出错 背景,r,compilation,package,R,Compilation,Package,我正在创建一个依赖于oldpackage的newpackage,并在文件newpackage/DESCRIPTION中指出了此依赖关系 此外, oldpackage安装在目录~/lib/R 我的.Rprofile包括.libpath(“~/lib/R”) 因此,我可以在不指定库位置的情况下成功加载oldpackage,例如,使用R中的命令library(oldpackage) 尽管能够在不指定程序包库的情况下加载程序包,R CMD check newpackage给出了一个错误,表明它无
newpackage/DESCRIPTION
中指出了此依赖关系
此外,
- oldpackage安装在目录
~/lib/R
- 我的
包括.Rprofile
.libpath(“~/lib/R”)
- 因此,我可以在不指定库位置的情况下成功加载oldpackage,例如,使用R中的命令
library(oldpackage)
- 因此,我可以在不指定库位置的情况下成功加载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.
问题:
R CMD check
以普通模式运行,因此它将找不到用户级库。我记得,在调用中设置R_LIBS=“…”会有所帮助,所以请尝试
关于问题2),您不能在描述中给出位置。这是有道理的,因为该文件需要在“任何地方”工作,而您的位置信息是您机器的本地信息。Re 1)是的,这很烦人,设置
R\u LIBS
环境变量是一个(答案?)答案。我在中有R\u LIBS=$HOME/R/LIBS
和导出R\u LIBS
(在连续的行上)。在/HOME/username
中有bashrc
来处理这个问题,而不是每次调用都记住。@Gavin该解决方案达到了预期的效果。根据德克的回答,这正是我所寻找的解决方案。