0

我在 Rstudio 的 Windows 机器上开发了一个闪亮的应用程序。现在我需要在 Linux 机器上开发它,然后需要在服务器上部署它。由于需要跨平台运行应用程序,我正在研究一些环境控制应用程序,这样我就不必手动调整和重新安装所需的包。

为此,我尝试使用 Packrat。我在我的 Windows 机器上制作了一个快照,将项目复制并粘贴到我的 Ubuntu,在 RStudio 上重新打开项目,安装 Packrat 并自动运行包的恢复。然后我遇到了一个问题,一些需要系统依赖的包没有自动安装,例如rgdal和jqr。因此,我不得不在终端中手动安装这些系统依赖项(我花了一些时间,因为其中大约有 10 个需要额外的系统依赖项)。

我想知道是否有更简单的方法来自动处理这个问题。稍后,我将需要与系统管理员合作将应用程序部署到服务器。我想知道 Packrat 是否能够在 Linux 机器/服务器上自动安装系统依赖项。如果有人以前遇到过这个问题,或者有其他更好的选择,请告诉我!

谢谢!

4

1 回答 1

0

您好,欢迎来到 StackOverflow。

您面临的问题实际上比您最初想象的要难解决——跨不同操作系统部署复杂的R依赖项确实是一个非常困难的问题,而且说实话,未解决的问题!

您当然可以使用R包依赖packrat项和特定版本的快照。但这对于简单地视为“给定”的系统级依赖项没有任何作用。所以不要只是转移到另一个盒子并说“abracadabra”。对不起!renv

我们可能最接近解决这个问题的可能是 Docker,您可以在其中创建一个可移植的执行单元,该单元可以部署在 Docker 运行的任何地方:Windows、macOS、不同的 Linux 风格……因为它对所有内容进行编码。

于 2020-09-23T20:21:39.280 回答