在离线环境中使用 renv 部署项目

Deploying projects with renv in offline environment

使用 renv 将包部署到离线计算机的正确步骤是什么?

我们有一个类似 CRAN 的内部存储库,它是通过 options(repos = list(cran = "http://our.repo.url")) 在开发机器和部署机器上配置的。它在 renv.lock 中指定。 renv 包本身安装在两台机器上,并且都是相同的版本 (1.14)。

部署后,在项目目录下启动R后,挂了一会,returns报错:

# Bootstrapping renv 0.14.0--------
Warning: unable to access index for repository https://cloud.r-project.org/src/contrib/:
  cannot open URL 'https://cloud.r-project.org/src/contrib/PACKAGES'
* Downloading renv 0.14.0 ... FAILED

如何告诉 renv 从系统库中复制自身,或者从内部存储库安装?

从系统库中复制当然是首选方法,以节省编译时间。

您可能想在 https://github.com/rstudio/renv/issues 提交问题,因为我认为 renv 目前不支持通过自动加载器从非项目库路径加载 renv 包。

也就是说,您应该可以通过禁用 renv 自动加载程序来继续。在启动 R 之前,您可以设置环境变量:

RENV_ACTIVATE_PROJECT = FALSE

然后,当 R 启动时,renv 自动加载器(运行 通过 source("renv/activate.R") 在项目 .Rprofile 中)将被禁用。然后您可以稍后从任何合适的库路径加载 renv,并调用 renv::load() 手动加载特定项目。

(设置该环境变量的另一种方法是简单地从项目 .Rprofile 中删除 renv 自动加载程序。)