简化构建 R Windows 多个 R 版本的二进制文件

Streamline building R Windows Binaries for multiple R versions

我正在为工作中的内部使用应用程序开发 R 包。不幸的是,并不是每个人都使用相同版本的 R。我想构建我的包的 Windows 二进制文件以支持多个版本,例如 3.6.x 和 4.0.x R。

我可以通过构建包轻松地做到这一点(我使用 devtools::build(binary = TRUE)),然后在 RStudio 中更改 R 版本,重新启动,然后再次 运行。但这变得非常乏味。

有没有办法简化这个(例如,我自己的自定义函数可以同时构建两者)?我想一些 CI/CD 的东西可能是最好的,但是这个解决方案必须限制在我可以在本地 运行 的范围内。

不要在RStudio中做,写一个脚本来做。它会有这样的命令:

/path/to/R3.6.3/R CMD INSTALL --build /path/to/yourpackage
mv yourpackage.*.zip /path/for/R3.6users
/path/to/R4.0.3/R CMD INSTALL --build /path/to/yourpackage
mv yourpackage.*.zip /path/for/R4.0users

你不需要很多构建;只有版本号的前两部分(例如 3.6 或 4.0)需要与目标系统匹配。

您可以使用 system() 调用在 R 中实现此脚本,但使用 Windows 脚本语言之一(.bat.cmd 可能更简单或其他)。