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

Car*_*a D 7 installation r devtools testthat r-package

我想运行包内部测试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”在这里仅用作占位符。

Kev*_*hey 6

renv提供了一个小扩展,可以通过 R 选项设置这些选项INSTALL_opts。因此,例如,以下内容应该适用于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)
Run Code Online (Sandbox Code Playgroud)

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

options(INSTALL_opts = "--install-tests")
Run Code Online (Sandbox Code Playgroud)

(renv主要支持设置这些via选项,以便renv::restore()可以在每个软件包的基础上更符合人体工程学地配置软件包安装via。)