问题描述
|
背景
我正在创建一个依赖于旧程序包的新程序包,并已在文件“ 0”中指出了这种依赖性。
此外,
oldpackage安装在目录“ 1”中
我的
.Rprofile
包括.libPaths(\"~/lib/R\")
因此,我可以在不指定库位置的情况下成功加载旧包,例如,使用R中的命令“ 4”
尽管可以在不指定库的情况下加载软件包,但R CMD check newpackage
会给出错误消息,表明它无法对旧软件包进行优化:
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无法找到包?
我可以在DESCRIPTION文件中指定库位置吗?
解决方法
关于问题1),它既是FAQ,也有些令人讨厌。
R CMD check
在原始模式下运行,因此将找不到用户级库。我记得,在通话中设置R_LIBS = \“ .... \”会有所帮助,所以尝试一下。
关于问题2),否,您不能在DESCRIPTION中指定位置。这很有意义,因为该文件需要“在任何地方都可以工作”,而您的位置信息是计算机本地的。