R 如何在描述中自动添加/更新依赖/导入/建议版本?

R 如何在描述中自动添加/更新依赖/导入/建议版本?,r,devtools,roxygen2,package-development,R,Devtools,Roxygen2,Package Development,我喜欢更新我的R包,在开发我自己的包时,我想坚持@Hadley的: 一般来说,最好指定版本,并对需要的版本保持保守。除非您知道其他情况,否则始终需要大于或等于当前使用的版本 因此,我需要说明中的一些: Imports: knitr (>= 1.13), rmarkdown (>= 1.0) 是否有现有工具可以基于我当前安装的软件包以编程方式更新依赖项的版本? 我知道这是一件小事,我可以手动完成,但我只知道这是一件容易忘记的事情 使用本地安装的包版本作为最小依赖项似乎也有意义,因

我喜欢更新我的R包,在开发我自己的包时,我想坚持@Hadley的:

一般来说,最好指定版本,并对需要的版本保持保守。除非您知道其他情况,否则始终需要大于或等于当前使用的版本

因此,我需要
说明中的一些:

Imports:
 knitr (>= 1.13),
 rmarkdown (>= 1.0)
是否有现有工具可以基于我当前安装的软件包以编程方式更新依赖项的版本?

我知道这是一件小事,我可以手动完成,但我只知道这是一件容易忘记的事情

使用本地安装的包版本作为最小依赖项似乎也有意义,因为我使用这些依赖项进行了测试/构建

我不应该这样做有什么原因吗?

这应该按照你的要求去做(好吧,你仍然需要将输出剪切/粘贴到
描述中
:-)

仅为了显示已处理边缘案例:

add_pkg_versions("MASS")

Package: MASS
Depends:
    graphics,
    grDevices,
    stats,
    utils
Imports:
    methods
Suggests:
    lattice (>= 0.20-33),
    nlme (>= 3.1-128),
    nnet (>= 7.3-12),
    survival (>= 2.39-5)

另一个选项是使用
usethis
包,尽管这实际上会立即覆盖描述文件,所以不确定是否总是需要这样做

# use overwrite = TRUE to update dependencies with version numbers
usethis::use_latest_dependencies(overwrite = TRUE, source = "CRAN")

不使用auto use local pkg版本的一个原因是,如果您在开发R软件包中使用了大量非CRAN的软件包,因为大多数软件包的版本与CRAN不匹配(而且,在提交CRAN之前,您不可避免地会忘记修改版本),您可以找到此函数的一个版本,它通过了当前的R CMD检查(使用
devtools::check()
add_pkg_versions("MASS")

Package: MASS
Depends:
    graphics,
    grDevices,
    stats,
    utils
Imports:
    methods
Suggests:
    lattice (>= 0.20-33),
    nlme (>= 3.1-128),
    nnet (>= 7.3-12),
    survival (>= 2.39-5)
# use overwrite = TRUE to update dependencies with version numbers
usethis::use_latest_dependencies(overwrite = TRUE, source = "CRAN")