首页 > 解决方案 > loadNamespace (j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) 中的“汽车”的“Rcmdr”错误加载失败:

问题描述

我正在尝试在 R 中运行“Rcmdr”。我让它功能齐全,但意外退出了程序。现在我无法重新进入。
我尝试了很多事情;卸载并重新安装 R 卸载并重新安装“Rcmdr”我尝试手动安装尝试不同的“CRAN”以及我从以前的帖子中看到的所有建议。(ie(install.packages("car",dependencies=TRUE)
下面是我收到的错误。

下载的二进制包在C:\Users\william\AppData\Local\Temp\Rtmpuazyss\downloaded_packages

> library(Rcmdr)
Loading required package: RcmdrMisc
Loading required package: car
Error: package or namespace load failed for ‘car’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
 there is no package called ‘openxlsx’
Error: package ‘car’ could not be loaded

标签: rnamespacesopenxlsx

解决方案


此类错误的常见原因是您正在使用的系统对 R 包库没有写权限。您安装了一个包(可能openxlsx在这种情况下),并且由于它无法写入系统库,它会在您确实具有写入权限的地方为您创建一个私有库。

但是当你开始一个新的会话时,它不会在那个位置寻找,所以它认为openxlsx没有安装,你会得到一个你看到的错误。

短期修复是重新安装丢失的软件包。但是如果你重新启动 R,你会在下一个会话中得到同样的错误。

更好的解决方法是告诉 R 查看您的私有库。openxlsx您可以通过运行重新安装后找到它的位置

.libPaths()

结果中的第一个条目可能是您的私有库,第二个条目将是标准系统库。(您可以拥有超过 2 个,但除非您已经要求更多,否则这不太可能。)为了确保您的私人图书馆总是出现,您需要输入

.libPaths("whatever was in the first entry")

.Rprofile到您的主目录中调用的文件中。例如,我看到

> .libPaths()
[1] "/Users/me/R/contrib"                             
[2] "/Library/Frameworks/R.framework/Versions/3.5/Resources/library"

所以我应该有

.libPaths("/Users/me/R/contrib")

在我的.Rprofile. 你会在那里看到一些其他目录,使用它。


推荐阅读