安装具有特定版本和测试的 R 包

Posted

技术标签:

【中文标题】安装具有特定版本和测试的 R 包【英文标题】:Install R package with specific version AND tests 【发布时间】:2021-10-23 16:37:34 【问题描述】:

我想使用testthat::test_package('httr') 对特定版本的包运行包内部测试。 有没有办法安装具有特定版本的 R 包(例如来自 CRAN)和它的测试?

我知道有 install.packages("httr", INSTALL_opts = "--install-tests") 为给定的包安装测试(没有任何选项来指定特定的包版本)。

还有 devtools::install_version("httr", version = "1.4.1")renv::install("httr@1.4.1") 为软件包安装特定版本(不能指定例如 INSTALL_opts)。

我看不出有任何方法可以将包版本的规范和--install-tests 选项结合起来。 任何帮助将不胜感激!

注意:包“httr”在这里只是用作占位符。

【问题讨论】:

【参考方案1】:

renv 提供了一个小扩展,可以通过INSTALL_opts R 选项设置这些选项。因此,例如,以下内容应该适用于renv 0.14.0

# set options for renv
options(INSTALL_opts.httr = "--install-tests")

# use 'rebuild = true', in case an older version
# of the package without tests is cached
renv::install("httr@1.4.1", rebuild = TRUE)

如果您希望这些选项适用于所有要安装的软件包,您可以改用:

options(INSTALL_opts = "--install-tests")

renv 主要支持通过选项设置这些选项,以便通过renv::restore() 安装的包可以根据每个包更符合人体工程学地进行配置。)

【讨论】:

非常感谢。我不知道可以将包名称添加到选项中,以便该选项仅适用于单个包!此外,我不知道rebuild=TRUE 选项。谢谢!

以上是关于安装具有特定版本和测试的 R 包的主要内容,如果未能解决你的问题,请参考以下文章

从CRAN镜像安装具有依赖关系的本地R包

从 CRAN 镜像安装具有依赖项的本地 R 包

R语言安装本地包Warning in system(cmd) : ‘make‘ not found安装和R版本匹配的Rtools

安装旧版本的 R 包

安装旧版本的 R 包

Python、Ubuntu:为特定 Python 版本安装 PyPi 包