在检查是否可以安装我制作的软件包时,我遇到了持续的错误。我看到的错误是我没有从Rstudio构建器安装软件包。但是,我确实已安装它并且可以加载它(见下文)
在R packages中,建议没有告诉您正在发生的事情:
检查是否可以安装“ XYZ”软件包。 R CMD检查运行R 安装CMD,以确保可以安装您的软件包。 如果失败,则应运行devtools :: install()或RStudio的Build& 重新加载并调试所有问题,然后再继续。
我遵循了建议,似乎安装了另一个软件包,并且安装正确。但devtools::check
仍返回错误。
here上有一些关于未能通过支票的帖子。看到错误消息:
** R
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Error: package or namespace load failed for ‘integration’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
there is no package called ‘Matrix’
问题是Matrix软件包是最新的(我已重新安装以确保)。但是在CI测试中,它可以正确构建。
“测试是否可以加载已安装的程序包”时怎么办?
我调查了工具的来源,但无法理解正在做什么。
它正在运行内部.install_packages
函数,同时测试似乎调用了test_load
的{{1}}是否似乎加载了命名空间。
无论是从Rstudio构建窗口还是从命令行,都无法使用base::library
正确构建。但我可以检查一下:
devtools::check
仅产生一个注释
相关信息,我将某些软件包从一个库移到了另一个库,这可能对已编译代码的软件包造成了一些错误。但是我认为这只是几个(〜10)包。
R CMD build package
R CMD check package_X.Y.Z.tar.gz