【发布时间】: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不会损坏也很有趣。我无法解决这两件事的原因。