我正在开发我的第一个 R 包(使用 R 2.13、Ubuntu 10.10)。我们将其命名为 foo,并假设 R/目录中的代码以 library(bar)
行开头,其中 bar 是一个现有的CRAN 中的包,foo 依赖于此。我的描述文件包含以下行:
Depends: bar
当包 foo 准备好进行测试时,我使用以下命令在本地安装它:
R CMD INSTALL foo_1.0.tar.gz
但是,如果没有安装bar,我会看到:
ERROR: dependency ‘bar’ is not available for package ‘foo’
显然,如果我的 foo 是使用 install.packages()
从 CRAN 安装的,bar 也会同时安装。所以我的问题是:当我使用 R CMD INSTALL 安装我的包 foo 时,如果需要,如何确保安装了 CRAN 包 bar ?这是配置脚本的工作吗?
最佳答案
实际上,重新阅读 R 扩展指南,它并没有说 R CMD INSTALL
将从 CRAN 获取依赖项。 R 中的 install.packages() 方法可以做到这一点,但乍一看我不认为 R CMD INSTALL 可以做到这一点。
您可以使用install.packages
从.tar.gz安装,但您必须设置repos=NULL
,然后这适用:
dependencies: logical indicating to also install uninstalled packages
on which these packages depend/suggest/import (and so on
recursively). Not used if repos = NULL.
我怀疑要做的事情是从描述文件中获取依赖项,然后运行 R 并在干净的环境中测试构建时对这些依赖项执行 install.packages()
.
关于r - 使用 "R CMD INSTALL"安装R包时如何安装依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6907937/