R Renv 包创建子文件夹“staging” - 这些可以毫无危险地删除吗?

des*_*hen 3 r staging renv

我正在使用该renv包来保持我的 R 项目在计算机之间保持相同。我看到我的 R 项目文件夹中有一个子文件夹renv/staging。该文件夹再次包含多个子文件夹,名称从 1 到 XX(在我的例子中为 38)。其中一些文件夹包含数千个文件,这导致我的设备之间的同步经常崩溃。

我假设这些子文件夹包含我的 R 项目包的某个阶段以及每当我更改某项时。(例如更新包),将创建一个新文件夹。

问题是:我可以简单地删除旧文件夹并保留当前文件夹(但在我的情况下是空的)吗?

遗憾的是,renv 网站没有透露有关这些暂存文件夹和子文件夹的任何信息。

Kev*_*hey 7

这些文件夹可以安全地删除——renv在构建和安装 R 包时使用这些暂存文件夹,目的是仅在成功安装所有请求的包后,将成功安装的包移动到项目库中的最终目的地。

这部分记录在https://rstudio.github.io/renv/reference/config.html中——来自renv.config.install.transactional

在安装和恢复期间执行软件包的事务安装?启用后,renv 会首先将包安装到临时库中,然后仅当所有包均已成功下载并安装时,才将这些包复制或移回项目库中。如果您希望避免在一个或多个软件包安装失败时改变您的项目库,这可能会很有用。默认为 TRUE。

如果您不喜欢这种行为,您可以在您的.Rprofile

options(renv.config.install.transactional = FALSE)
Run Code Online (Sandbox Code Playgroud)

或者,在您的项目中.Renviron

RENV_CONFIG_INSTALL_TRANSACTIONAL = FALSE
Run Code Online (Sandbox Code Playgroud)

我还将更新文档以明确事务安装使用该renv/staging/%i文件夹。