我在R中开发了一个包,当我在本地计算机上检查并构建它时,它可以正常工作。但是当我在CRAN中尝试它时,我得到了一个包依赖性错误。我的包依赖于其他包的两个功能。
如果我使用description
或Depends
列出imports
下的其他软件包,是否会自动安装新软件包?或者我是否需要在我使用其他包的函数下显式调用函数install.packages("packagename")
。如果这一切都是错误的,那么在R
中解决包依赖关系的最佳方法是什么才能通过R CMD check
和build
测试并提交给CRAN?
谢谢。
答案 0 :(得分:59)
在您自己的系统上,尝试
install.packages("foo", dependencies=...)
带有dependencies=
参数的记录为
dependencies: logical indicating to also install uninstalled packages
which these packages depend on/link to/import/suggest (and so
on recursively). Not used if ‘repos = NULL’. Can also be a
character vector, a subset of ‘c("Depends", "Imports",
"LinkingTo", "Suggests", "Enhances")’.
Only supported if ‘lib’ is of length one (or missing), so it
is unambiguous where to install the dependent packages. If
this is not the case it is ignored, with a warning.
The default, ‘NA’, means ‘c("Depends", "Imports",
"LinkingTo")’.
‘TRUE’ means (as from R 2.15.0) to use ‘c("Depends",
"Imports", "LinkingTo", "Suggests")’ for ‘pkgs’ and
‘c("Depends", "Imports", "LinkingTo")’ for added
dependencies: this installs all the packages needed to run
‘pkgs’, their examples, tests and vignettes (if the package
author specified them correctly).
所以你可能想要一个值TRUE
。
在您的包中,列出Depends:
中需要的内容,请参阅
Writing R Extensions手册非常明确。
答案 1 :(得分:2)