714 Stimmen

Wie soll ich mit der Warnung "Paket 'xxx' ist nicht verfügbar (für R-Version x.y.z)" umgehen?

15voto

bli Punkte 6501

Etwas, was für mich passiert ist, ist, dass die Version von R, die von meiner Linux-Distribution bereitgestellt wird (R-Version 3.0.2 bereitgestellt von Ubuntu 14.04), für die neueste Version des auf CRAN verfügbaren Pakets zu alt war (in meinem Fall plyr Version 1.8.3 Stand heute). Die Lösung bestand darin, das Paketsystem meiner Distribution zu verwenden, anstatt zu versuchen, es von R aus zu installieren (apt-get install r-cran-plyr hat mir Version 1.8.1 von plyr beschafft). Vielleicht hätte ich versuchen können, R mit updateR() zu aktualisieren, aber ich befürchte, dass dies sich mit dem Paketmanager meiner Distribution interferieren würde.


Bearbeitet (04/08/2020): Ich hatte kürzlich ein Problem mit einem Paket (XML), das angeblich nicht für meine R-Version verfügbar war (3.6.3, neueste unterstützte Version auf Debian Stretch), nach einem Update des Pakets auf CRAN. Das war sehr unerwartet, da ich es bereits zuvor erfolgreich installiert hatte (auf derselben R-Version und derselben Betriebssystemversion).

Aus irgendeinem Grund war das Paket noch vorhanden, aber install.packages suchte nur nach der aktualisierten (und inkompatiblen) Version. Die Lösung bestand darin, die URL der kompatiblen Version zu finden und install.packages zu zwingen, sie zu verwenden, wie folgt:

install.packages("https://cran.r-project.org/src/contrib/Archive/XML/XML_3.99-0.3.tar.gz", repos=NULL, type="source", ask=FALSE)

10voto

Tombart Punkte 27954

Dies hat mir viel Zeit gespart beim Debuggen, was falsch ist. In vielen Fällen handelt es sich einfach um veraltete Spiegel. Diese Funktion kann mehrere Pakete mit ihren Abhängigkeiten unter Verwendung von https://cran.rstudio.com/ installieren:

packages <- function(pkg){
    new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
    if (length(new.pkg))
        install.packages(new.pkg, dependencies = TRUE, repos='https://cran.rstudio.com/')
    sapply(pkg, require, character.only = TRUE)
}

packages(c("foo", "bar", "baz"))

6voto

Biboswan Punkte 1005

Dies ist, was ich schließlich tun konnte, um das Psych-Paket in R-3.4.1 zu installieren, als ich die gleiche Warnung erhalten habe

1:Google nach diesem Paket.

2:Manuell heruntergeladen, mit tar.gz-Erweiterung

3:Wählen Sie die Option "Paketarchivdatei (.zip;.tar.gz)" für die Installation von Paketen in R

4:Lokal zum Speicherort navigiert, wo es heruntergeladen wurde, und auf Installieren geklickt

Sie erhalten möglicherweise eine Warnung: Abhängigkeiten 'xyz' für das Paket nicht verfügbar, dann installieren Sie diese zuerst aus dem Repository und führen Sie dann die Schritte 3-4 aus.

5voto

Ich habe den Fehler gemacht, vergessen repos=NULL einzusetzen, als ich das R-Paket aus dem Quellcode installiert habe. In diesem Fall ist die Fehlermeldung etwas irreführend: Paket 'foobarbaz' ist nicht verfügbar (für R-Version x.y.z)

Das Problem war nicht die Version von R, sondern der repos Parameter. Ich habe install.packages('pfad/zum/quellcode/von/foobarbaz', type='source', repos=NULL) gemacht, was in diesem Fall für mich funktioniert hat.

Hoffentlich hilft das jemandem.

4voto

Alex Punkte 9996

Ich habe diesen Fehler auf Ubuntu behoben, indem ich sorgfältig den Anweisungen zur Installation von R gefolgt bin. Dies beinhaltete:

  1. Hinzufügen von deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/ zu meiner /etc/apt/sources.list Datei
  2. Ausführen von sudo apt-get update
  3. Ausführen von sudo apt-get install r-base-dev

Für Schritt 1 kannst du einen beliebigen CRAN-Download-Spiegel anstelle meines University of Toronto wählen, wenn du möchtest.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X