知道软件包所基于的(确切的)R版本吗?

时间:2019-12-23 01:33:13

标签: r cran roxygen2

我们如何准确确定R软件包的版本是哪个?

示例

在RSelenium软件包的DESCRIPTION文件here中,我们看到了

Depends:
    R (>= 3.0.0)

但这似乎并不精确(由于>符号)

注释

Karl Browman的网站says

  

Depends用于指示对R的特定版本以及对每次加载软件包时将要加载的软件包(使用library())的依赖。如果您希望用户在每次加载您的软件包时都希望加载其他软件包,则应在此处包括软件包名称。但这现在相对罕见。 (我认为这些软件包的名称空间也应使用@import导入。)

1 个答案:

答案 0 :(得分:5)

哪个版本构建软件包几乎无关紧要。通常唯一重要的是哪个版本安装了它。 (二进制软件包是已安装软件包的映像,因此对它们很重要。)

安装软件包的版本存储在Built:文件的DESCRIPTION字段中。 (是的,“内置”,不是“已安装”。) 您可以使用类似的代码来查看它

read.dcf(system.file("DESCRIPTION", package="base"), fields="Built")
#>      Built                                     
#> [1,] "R 3.6.1; ; 2019-07-06 02:01:41 UTC; unix"

输入您自己的软件包名称,而不是"base"

在很少的情况下,当软件包格式更改时,“几乎从不重要”的例外。