r - renv 不断告诉包在使用时没有被使用
问题描述
我正在使用 renv 使我的项目可重现。
但是,我需要两个在使用时没有自动考虑的包renv::snapshot()
(我认为和包是rnaturalearthdata
和gifski
包的两个依赖项)。rnaturalearth
knitr
因此,我不得不使用手动保存它们renv::record(<package>@<version>)
现在的问题是,当我使用 时renv::status()
,我有以下内容:
The following package(s) are no longer used in this project:
_
gifski [0.8.6]
rnaturalearthdata [0.1.0]
Use `renv::snapshot()` to remove them from the lockfile.
(这是正常的,因为我没有直接在我的项目中使用 调用这些包library()
,但是它们是从它们的依赖项中自动导入的)
有没有办法告诉 renv 它可以根据需要考虑它们?因为下次我renv::snapshot()
用来添加其他包时,我不希望这两个包被删除。
解决方案
这里的问题是这些可能是Suggests
依赖项,因此不会自动生成快照renv
——默认情况下,它只包括“硬”依赖项;也就是说,属于Imports
,Depends
或的包LinkingTo
。
不过,这里的修复很简单:创建一个名为的文件deps.R
,其内容为:
library(gifski)
library(rnaturalearthdata)
帮助指示renv
这些包应被视为硬依赖项。
另请参阅常见问题解答以获取更多详细信息。
推荐阅读
- csv - 谷歌浏览器控制台出现中文编码错误
- c++ - C/C++ 的文件/符号依赖图可视化
- c# - 在 C# 中对网格视图进行更改时如何执行存储过程
- angular - 服务器响应成功后如何删除 ag-Grid 中的一行?
- javascript - 角度 -“changeingThisBreaksApplicationSecurity”给出 ts 错误“'SafeUrl' 类型上不存在属性 'changedThisBreaksApplicationSecurity'。”
- javascript - 移除事件后触发的滚动事件监听器
- laravel - 图片不显示是什么问题???有没有定位错误?
- laravel - 试图获取对象属性,但我得到“试图获取非对象的属性'状态'”
- php - 执行 min 和 max 后如何在 php 数组中显示超过 1 个数据
- r - 增加 mtable() 结果中的数字以比较模型