8

当我尝试加载“汽车”包时,出现此错误:

library(car)

Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : 
  namespace 'nlme' 3.1-122 is already loaded, but >= 3.1.123 is required
Error: package or namespace load failed for 'car'

但是当我运行时update.packages(),没有什么可更新的。如果这很重要,我正在使用 MRO 3.2.3。

4

2 回答 2

4

我遇到了同样的问题,只需nlme_3.1-123.tar.gzhttps://cran.r-project.org/src/contrib/Archive/nlme/安装即可解决

于 2016-02-27T10:32:42.993 回答
2

问题的最终原因很可能是 MRO默认为静态存储库

默认情况下,Microsoft R Open 使用静态 CRAN 快照日期为其用户提供可预测性。例如,Microsoft R Open 3.2.3 的 CRAN 存储库配置为指向 2016 年 1 月 1 日的快照日期。因此,使用 Microsoft R Open 3.2.3,您将始终获得 1 月 UTC 午夜时的包1, 2016 默认情况下,无论何时使用 install.packages。

使用固定的 CRAN 存储库快照意味着 Microsoft R Open 的每个用户都可以访问同一组 CRAN 包版本。这使得共享依赖于 R 包的 R 代码更容易,并减少了在同一系统上安装不兼容的 R 包的机会。了解有关固定 CRAN 存储库快照的更多信息。

尝试

install.packages("nlme",repos="http://cran.r-project.org")

或者可能

install.packages("nlme",repos="http://cran.r-project.org",type="binary")

(如果你得到一个type == "both" cannot be used ...错误)。

新版本推荐包的另一个可能问题来源是旧版本可能安装在系统级包目录中,而新版本安装在用户级目录中;检查结果

sapply(.libPaths(),packageVersion,pkg="nlme") 

并考虑lib=.libPaths()[2]在您的install.packages()通话中添加类似的内容。

于 2016-03-04T02:22:17.057 回答