8

在之前使用依赖 R 3.6.3 之后,我最近安装了 R 4.0。为了管理 R 存储库,我使用 Rstudio(目前在 Windows 10 机器上为 1.2.5042)。升级到 R 4.0 后,我打开了几个月前的一个项目,并意识到 Rstudio 现在默认使用较新版本的 R(以及它的库文件夹)。运行时renv::restore()renv尝试为较新版本的 R 重新安装 .lock 文件中的所有库,但我看不到任何方法可以指定我要继续使用 R 3.6.3 及其关联库。

来自 python 背景,我假设这renv将创建一个虚拟环境,该环境将解释器和项目使用的库隔离开来(类似于 anaconda 环境的创建方式)。但是,在查看文档并进行一些搜索后,我发现没有提及隔离特定版本的 R。但是,我发现 Rstudio 默认使用最新版本的 R,这不一定是我想。

我曾尝试使用 anaconda 来管理 R 环境。然而,Anaconda 依赖于它自己的较小的 R 包存储库,而且我需要的许多库都来自研究人员,他们将代码存放在 GitHub 上。

有没有办法创建一个 R 环境,我可以在其中隔离 R 库和 R 本身的版本?或者,关于如何使用 R/Rstudio 的环境,我可能缺少一些东西?

4

1 回答 1

5

你是正确的,renv只管理已安装的 R 包,而不是 R 解释器本身。

根据您使用 RStudio 的方式,您仍然可以通过设置RSTUDIO_WHICH_R环境变量来“伪造”它。例如:

export RSTUDIO_WHICH_R=/path/to/R
rstudio

会告诉 RStudio “绑定”到RSTUDIO_WHICH_R环境变量指定的 R 版本。

值得一提的是,将项目绑定到特定 R 版本的能力是 RStudio 专业版的一个功能。但是,它在开源版本中不可用。有关更多详细信息,请参见此处

于 2020-07-08T21:24:01.563 回答