如何告诉CRAN自动安装包依赖项?

时间:2013-01-05 11:05:15

标签: r cran r-forge

我在R中开发了一个包,当我在本地计算机上检查并构建它时,它可以正常工作。但是当我在CRAN中尝试它时,我得到了一个包依赖性错误。我的包依赖于其他包的两个功能。

如果我使用descriptionDepends列出imports下的其他软件包,是否会自动安装新软件包?或者我是否需要在我使用其他包的函数下显式调用函数install.packages("packagename")。如果这一切都是错误的,那么在R中解决包依赖关系的最佳方法是什么才能通过R CMD checkbuild测试并提交给CRAN?

谢谢。

2 个答案:

答案 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)

另一种可能性是在右侧的R包安装程序中选择Install Dependencies复选框:

enter image description here