【问题标题】:How to find the R version under which an R package was built?如何找到构建 R 包的 R 版本?
【发布时间】:2016-10-14 13:00:02
【问题描述】:

问题根源:
我的环境是与 R 3.1.1 绑定的 RevoREnt 7.3。
我需要安装tidyr 包。 tidyr 需要 DBI 包。 我安装/加载了 DBI (v0.5)。 R 发出警告:

Warning message:
package ‘DBI’ (0.5) was built under R version 3.3.1

安装/加载 DBI (v0.5) 后,我的搜索帮助功能因错误而损坏:即, R 控制台中的“?? yay”出现以下错误:

"Error in `[<-`(`*tmp*`, , "name", value = sub("\\.[^.]*$", "", basename(vDB$File))) : subscript out of bounds"

然后,我决定保存我损坏的 RevoREnt,而不是卸载/重新安装 RevoREnt(注意到有许多 R 用户面临损坏的搜索帮助功能而没有任何解决方案可以修复)。

我从 R 控制台卸载/卸载 DBI,然后通过 Windows 资源管理器从 R 库位置删除 DBI 包的文件夹。我重新运行 RevoREnt 并在控制台中写入“??yay”: 我的帮助浏览器 (http://127.0.0.1:27971/doc/html/Search?pattern=yay) 已打开
“搜索字符串是“耶”。没有找到结果。”出现在那里。
即:我保存了我的搜索帮助功能,而没有卸载/重新安装 RevoREnt。

我做了什么来解决/找到:
1.因为我非常需要 tidyr 包,所以我决定安装/加载与我的兼容的 DBI 包3.1.1。我去了 CRAN DBI (https://cran.r-project.org/web/packages/DBI/index.html)

在那里,它在 DBI 页面中写入“Depends: R (≥ 2.15.0)”。

这是否意味着 DBI (v0.5) 是在 R2.15.0 下构建的?

2.我去了DBI的档案:https://cran.r-project.org/src/contrib/Archive/DBI/

试图在R控制台中一一加载并检查警告:

Warning message:
package ‘DBI’ (0.5) was built under R version 3.3.1 
Warning message:
package ‘DBI’ (0.4) was built under R version 3.1.3
Warning message:
package ‘DBI’ (0.3.1) was built under R version 3.1.2 

最终,通过反复试验,我发现 DBI 0.3.1 并没有破坏我的搜索帮助功能,尽管它是在 3.1.2>3.1.1 下构建的!

然后,我倒退了。这次 DBI 0.4 也没有意外损坏搜索帮助功能。 DBI 0.5 总是继续破坏搜索帮助功能。

难道没有任何简单的方法可以找到构建软件包的 R 版本吗?

【问题讨论】:

  • 您是否只尝试卸载和卸载与关闭所有 R 会话、启动 R vanilla 并执行删除/重新安装的测试?
  • 当我进行测试时,我卸载并卸载了DBI 包,然后我完全关闭了 RevoREnt。重新启动 RevoREnt,然后尝试了新版本的DBI。因此,我在新的 R vanilla 会话下进行了测试。 DBI v0.4 的不一致非常有趣。此外,虽然 3.1.2 和 3.3.1 都大于 3.1.1,但为什么 DBI v0.5 会损坏而 DBI v0.3.1 不会损坏也很有趣。我无法解决这两件事的原因。

标签: r search package version


【解决方案1】:

您想要的信息位于installed.packages() 输出的最后一列(“Built”)中,根据https://stat.ethz.ch/R-manual/R-devel/library/utils/html/installed.packages.html

.libPaths() # get the library location
installed.packages(lib.loc = "C://Revolution//R-Enterprise-7.3//R-3.1.1//library")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 2017-02-13
    • 1970-01-01
    • 2018-09-21
    相关资源
    最近更新 更多