从源重新加载自定义 R 包

Reload Custom R Package from Source

我已经创建了一个自定义包并想将它部署到远程机器上。这是我当前的长工作流程:

当其他人连接到机器时,他们必须运行安装和库:

有什么方法可以共享自定义包并让工作流程成为:

评论中的反馈说最佳做法是将软件包安装在共享位置。

这是找到安装软件包的好地方的方法。

运行 下面显示从哪里加载库

.libPaths()
# rserve2 rserve2 /opt/deployr/9.0.1/rserve/R
#root root        /usr/lib64/microsoft-r/3.3/lib64/R/library

R 服务器在两个位置寻找库。一个归 root 所有,所以我们不应该部署在这里。另一个位置 rserve2 拥有所有权并且看起来很有前途。我们应该创建一个 library 子文件夹来存储共享包。

根据此信息,工作流程应为:

  • 创建自定义包'my_package_0.1.0.tar.gz'
  • scp 包到远程机器
  • 创建远程会话
  • install.packages("/path/to/my_package0.1.0.tar.gz", lib='/opt/deployr/9.0.1/rserve/R/library/' )
  • 图书馆('my_package')

当其他人连接到本机时,他们可以加载共享库:

  • 图书馆('my_package')