r - 由于包依赖性,R CMD 检查出错

标签 r compilation package

背景

我正在创建一个 新包装这取决于 旧包 ,并在文件 newpackage/DESCRIPTION 中指明了这种依赖关系.

此外,

  • 旧包安装在目录,~/lib/R
  • 我的 .Rprofile包括 .libPaths("~/lib/R")
  • 因此,我可以成功加载 旧包不指定库位置,例如,使用命令 library(oldpackage)在 R

  • 尽管可以在没有指定库的情况下加载包,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 找不到包?
  • 我可以在描述文件中指定库位置吗?
  • 最佳答案

    关于问题 1),它既是常见问题解答,又有些烦人。 R CMD check在 vanilla 模式下运行,因此它不会找到用户级库。我记得,在调用中设置 R_LIBS="...."有帮助,所以试试吧。

    关于问题 2),不,您不能在描述中给出位置。这是有道理的,因为该文件需要“无处不在”,而您的位置信息对于您的机器来说是本地的。

    关于r - 由于包依赖性,R CMD 检查出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6432968/

    相关文章:

    r - ggplotly 和 lubridate : Hoover shows seconds, 不是分钟

    r - 稀疏矩阵到 R 中的数据框

    python - 如何从 whl 文件安装 python 包

    r - 使用 sf、ggplot 和 cut_interval() 的 Choropleth 中的组数错误

    r - 选择匹配 TRUE 的列表列

    linux - 使用开源 libFTDI 编译程序

    c - 编译期间什么时候分配内存?

    makefile - make -j 的最佳值(value)是什么

    dependencies - 创建 NuGet 包时不要包含来自 packages.config 文件的依赖项

    r - 在 R 包中分配锁定变量