简化构建 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
可能更简单或其他)。
我正在为工作中的内部使用应用程序开发 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
可能更简单或其他)。