在离线环境中使用 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
自动加载程序。)
使用 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
自动加载程序。)