2016-02-17 10 views
8

Kiedy próbuję załadować pakietu „car” otrzymuję ten błąd:pakiet samochód w stanie załadować, zła wersja nlme

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' 

Ale kiedy biegnę update.packages() nie ma nic, aby zaktualizować. Używam MRO 3.2.3, jeśli to ma znaczenie.

+0

Wymagana wersja może nie być dostępna dla posiadanej wersji R? – Benjamin

+1

Problem polega na tym, że starsza wersja 'nlme' jest częścią r-base i jest ładowana zamiast nowej wersji, która byłaby normalnie ładowana, jeśli po prostu wczytasz' nlme' przez 'library()'. Jednym z rozwiązań może być załadowanie 'nlme' przed ręcznym, gdy niewłaściwa wersja nie jest jeszcze załadowana. –

Odpowiedz

2

ostateczną przyczyną problemu jest najbardziej prawdopodobne, że MRO defaults to a static repository:

By default, Microsoft R Open offers its users predictability using a static CRAN snapshot date. For example, the CRAN repository for Microsoft R Open 3.2.3 is configured to point to a snapshot date of Jan 1, 2016. Consequently, with Microsoft R Open 3.2.3 you'll always get packages as they were at midnight UTC on Jan 1, 2016 by default whenever you use install.packages.

Using a fixed CRAN repository snapshot means that every user of Microsoft R Open has access to the same set of CRAN package versions. This makes sharing R code that relies on R packages easier, and reduces the chance of incompatible R packages being installed on the same system. Learn more about fixed CRAN repository snapshots.

Spróbuj

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

lub ewentualnie

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

(jeśli pojawi się błąd type == "both" cannot be used ...).

Innym możliwym źródłem problemów z nowymi wersjami pakietów zalecanych jest to, że starą wersję można zainstalować w katalogu pakietów na poziomie systemu, podczas gdy nowa wersja jest instalowana w katalogu na poziomie użytkownika; sprawdzić wyniki

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

i rozważyć dodanie czegoś podobnego lib=.libPaths()[2] do rozmowy install.packages().

Powiązane problemy