当我尝试加载' car'包我收到这个错误:
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。
答案 0 :(得分:4)
我遇到了同样的问题,只需从https://cran.r-project.org/src/contrib/Archive/nlme/
安装nlme_3.1-123.tar.gz
即可解决问题
答案 1 :(得分:2)
问题的最终原因很可能是MRO defaults to a static repository:
默认情况下,Microsoft R Open使用静态CRAN快照日期为其用户提供可预测性。例如,Microsoft R Open 3.2.3的CRAN存储库配置为指向2016年1月1日的快照日期。因此,使用Microsoft R Open 3.2.3,您将始终获得包,因为它们是在1月的UTC午夜默认情况下,每当您使用install.packages时,都是2016年。
使用固定的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()
之类的内容。