renv - 手动覆盖锁定文件中的包版本
renv - manually overwrite package version in lock file
我无法完全恢复 renv
锁定文件中的一个包,但我可以安装该包的不同版本。所以我想知道我是否可以手动覆盖锁定文件中的包版本。我只需要更换版本号吗?我也应该更改哈希吗?有什么后果?
您可以 -- renv.lock
只是 JSON,因此如果您需要调整特定条目,您可以根据需要修改它。 (或者,您可以使用 renv::record(<package>@<version>)
通过 renv
API 显式更新锁定文件。)
如果您要更改 renv.lock
中的条目,您通常应该删除已修改条目的哈希组件。哈希用于缓存;它允许 renv::restore()
从全局 renv
缓存中恢复包(如果可用),从而避免包的检索 + 构建 + 安装。
如果未设置,则 renv
将不会使用缓存,而是始终尝试从声明的源中检索包(这似乎适合您的情况)。
我无法完全恢复 renv
锁定文件中的一个包,但我可以安装该包的不同版本。所以我想知道我是否可以手动覆盖锁定文件中的包版本。我只需要更换版本号吗?我也应该更改哈希吗?有什么后果?
您可以 -- renv.lock
只是 JSON,因此如果您需要调整特定条目,您可以根据需要修改它。 (或者,您可以使用 renv::record(<package>@<version>)
通过 renv
API 显式更新锁定文件。)
如果您要更改 renv.lock
中的条目,您通常应该删除已修改条目的哈希组件。哈希用于缓存;它允许 renv::restore()
从全局 renv
缓存中恢复包(如果可用),从而避免包的检索 + 构建 + 安装。
如果未设置,则 renv
将不会使用缓存,而是始终尝试从声明的源中检索包(这似乎适合您的情况)。