从r包的DESCRIPTION文件中获取版本号



是否有一种简洁的方法可以让R-package中的函数访问(该R-package的)description文件中指定的版本号?

可能使用installed.packages()

installed.packages()['MASS', 'Version']
# [1] "7.3-57"

您可以使用packageVersion()函数:

packageVersion("MASS")
#> [1] '7.3.56'
packageVersion("MASS") >= "7.3.9"  # Compares as version, not character
#> [1] TRUE

由reprex包(v2.0.1)创建于2022-06-05

这取决于你安装了多少个包,这也将比使用installed.packages():

快得多。
microbenchmark::microbenchmark(packageVersion("MASS"), installed.packages()['MASS', 'Version'])
#> Unit: microseconds
#>                                     expr      min       lq      mean    median
#>                   packageVersion("MASS")  315.500  336.111  392.9827  370.0415
#>  installed.packages()["MASS", "Version"] 4648.788 4811.913 7278.9214 4893.4105
#>         uq        max neval cld
#>   425.8515    796.667   100  a 
#>  5055.4825 235622.901   100   b

由reprex包(v2.0.1)创建于2022-06-05

最新更新