1

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

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

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

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

4

1 回答 1

1

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

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

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

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

options(renv.config.install.transactional = FALSE)

或者,在您的项目中.Renviron

RENV_CONFIG_INSTALL_TRANSACTIONAL = FALSE

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

于 2020-12-16T21:26:24.643 回答