gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 01:32:49 25 4
gpt4 key购买 nike

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

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

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

不幸的是,renv 网站没有说明任何关于这些暂存文件夹和子文件夹的信息。

最佳答案

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

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

Perform a transactional install of packages during install andrestore? When enabled, renv will first install packages into atemporary library, and later copy or move those packages back into theproject library only if all packages were successfully downloaded andinstalled. This can be useful if you'd like to avoid mutating yourproject library if installation of one or more packages fails.Defaults to TRUE.

如果您不喜欢这种行为,您可以在您的 .Rprofile 中进行设置:

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

或者,在您项目的 .Renviron 中:

RENV_CONFIG_INSTALL_TRANSACTIONAL = FALSE

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

关于R renv 包创建子文件夹 "staging"- 可以毫无危险地删除这些吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65303212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com