假设我想比较例如
devtools 2.4.2
与 devtools 2.4.5
。是否有一些预构建的函数“某处”会返回一个可读的输出,通知我包的依赖结构发生了什么变化?
目前,我看到的唯一选择是手动比较
DESCRIPTION
文件并做笔记。我知道 - 当然 - 我可能可以自己写一些东西,但问题或多或少是有人已经这样做了以及我在哪里可以找到它。
基础 R 包中藏有许多好东西
tools
。由于您有两个 DESCRIPTION
文件(或可以获得它们......),您可以使用它们。
这是使用 CRAN 包的示例
rgl
:
> db <- tools:::.read_description("DESCRIPTION")
> tools:::.get_requires_from_package_db(db, "Suggests")
Suggests1 Suggests2 Suggests3 Suggests4 Suggests5
"covr" "curl" "datasets" "knitr" "rmarkdown"
Suggests6 Suggests7 Suggests8 Suggests9 Suggests10
"spelling" "stringi" "testthat" "tzdb" "waldo"
Suggests11 Suggests12
"withr" "xml2"
> tools:::.get_requires_from_package_db(db, "Imports")
Imports1 Imports2 Imports3 Imports4 Imports5
"cli" "clipr" "crayon" "hms" "lifecycle"
Imports6 Imports7 Imports8 Imports9 Imports10
"methods" "R6" "rlang" "tibble" "utils"
Imports11
"vroom"
>
因此,您可以整理
Imports
、Depends
、LinkingTo
和 Suggests
,然后运行 setdiff()
。之后你就可以漂亮地打印了。