Wie soll ich mit “Paket ‘xxx’ ist nicht verfügbar (für R-Version xyz)” Warnung?

Ich habe versucht, ein Paket zu installieren, mit

install.packages("foobarbaz") 

aber erhielt die Warnung

 Warning message: package 'foobarbaz' is not available (for R version xyz) 

Warum denkt R nicht, dass das Paket verfügbar ist?

Siehe auch diese Fragen, die sich auf bestimmte Fälle dieses Problems beziehen:

Mein Paket funktioniert nicht für R 2.15.2
Paket ‘Rbbg’ ist nicht verfügbar (für R Version 2.15.2)
Paket ist nicht verfügbar (für R Version 2.15.2)
Paket DoMC nicht verfügbar für R Version 3.0.0 Warnung in install.packages
Die Abhängigkeit ‘Rglpk’ ist für das Paket ‘fPortfolio’ nicht verfügbar.
Was ist zu tun, wenn ein Paket für unsere R-Version nicht verfügbar ist?
Ist das Bigvis-Paket für R nicht für die R-Version 3.0.1 verfügbar?
Paket ‘syncwave’ / ‘mvcwt’ ist nicht verfügbar (für R Version 3.0.2)
Paket ‘Diamanten’ ist nicht verfügbar (für R Version 3.0.0)
Ist das plyr-Paket für R nicht für die R-Version 3.0.2 verfügbar?
https://stackoverflow.com/questions/21580661/installing-predictabel-package-on-r-2-15-2
Package bigmemory installiert nicht auf R 64 3.0.2
Paket “makeR” ist nicht verfügbar (für Version 3.0.2)
Paket ‘RTN’ ist nicht verfügbar (für R Version 3.0.1)
Fehler beim Installieren des GeoR-Pakets
Paket ‘twitterR’ ist nicht verfügbar (für R Version 3.1.0)
Wie installiere ich ‘Rcpp, Paket? Ich habe “Paket ist nicht verfügbar”
Paket ‘Dataset’ ist nicht verfügbar (für R Version 3.1.1)
“Paket ‘rhipe’ ist nicht verfügbar (für R-Version 3.1.2)”
https://stackoverflow.com/questions/31439092/package-dplyr-is-not-available-for-r-version-3-1-1

1. Sie können nicht buchstabieren

Die erste Sache zu prüfen ist, haben Sie den Namen des Pakets richtig buchstabiert? Bei Paketnamen wird die Groß- / Kleinschreibung in R berücksichtigt.


2. Sie haben nicht in das richtige Repository gesucht

Als nächstes sollten Sie überprüfen, ob das Paket verfügbar ist. Art

 setRepositories() 

Siehe auch ? SetRepositories .

Um zu sehen, welche Repositories R nach Ihrem Paket suchen, und optional einige zusätzliche auswählen. Zumindest möchten Sie normalerweise, dass CRAN ausgewählt wird, und CRAN (extras) wenn Sie Windows verwenden, und die Bioc* wenn Sie welche verwenden [Gen / Prote / Stoffwechsel / Transkript] Omics biologische Analysen.

Um dies dauerhaft zu ändern, fügen Sie eine Zeile wie setRepositories(ind = c(1:6, 8)) zu Ihrer Rprofile.site Datei hinzu.


3. Das Paket befindet sich nicht in den von Ihnen ausgewählten Repositorys

Geben Sie alle verfügbaren Pakete mit zurück

 ap < - available.packages() 

Siehe auch Namen der verfügbaren Pakete von R , available.packages .

Da dies eine große Matrix ist, möchten Sie möglicherweise den Datenbetrachter verwenden, um sie zu untersuchen. Alternativ können Sie schnell überprüfen, ob das Paket verfügbar ist, indem Sie es mit den Zeilennamen testen.

 View(ap) "foobarbaz" %in% rownames(ap) 

Alternativ kann die Liste der verfügbaren Pakete in einem Browser für CRAN , CRAN (Extras) , Bioconductor , R-forge , RForge und github angezeigt werden .

Eine weitere mögliche Warnmeldung, die Sie beim Umgang mit CRAN-Spiegeln erhalten können, ist:

 Warning: unable to access index for repository 

Dies kann darauf hinweisen, dass das ausgewählte CRAN-Repository derzeit nicht verfügbar ist. Sie können mit chooseCRANmirror() eine andere Spiegelung chooseCRANmirror() und die Installation erneut versuchen.


Es gibt mehrere Gründe, warum ein Paket möglicherweise nicht verfügbar ist.


4. Sie wollen kein Paket

Vielleicht wollen Sie nicht wirklich ein Paket. Es ist üblich, sich über den Unterschied zwischen einem Paket und einer Bibliothek oder einem Paket und einem Datensatz zu wundern.

Ein Paket ist eine standardisierte Sammlung von Materialien, die R erweitern, z. B. Bereitstellung von Code, Daten oder Dokumentation. Eine Bibliothek ist ein Ort (Verzeichnis), in dem R Pakete finden kann, die es benutzen kann

Um verfügbare Datensätze anzuzeigen, geben Sie ein

 data() 

5. R oder Bioconductor ist veraltet

Es hängt möglicherweise von einer neueren Version von R ab (oder von einem der Pakete, die es importiert / abhängig macht). Ansehen

 ap["foobarbaz", "Depends"] 

und erwägen, Ihre R-Installation auf die aktuelle Version zu aktualisieren. Unter Windows ist dies am einfachsten über das installr Paket möglich.

 library(installr) updateR() 

(Natürlich müssen Sie zuerst install.packages("installr") .)

Gleichermaßen müssen Sie möglicherweise für Ihre Bioconductor-Pakete Ihre Bioconductor-Installation aktualisieren.

 source("http://bioconductor.org/biocLite.R") biocLite("BiocUpgrade") 

6. Das Paket ist veraltet

Möglicherweise wurde es archiviert (wenn es nicht mehr gepflegt wird und R CMD check Tests nicht mehr besteht).

In diesem Fall können Sie eine alte Version des Pakets mit install_version()

 library(remotes) install_version("foobarbaz", "0.1.2") 

Eine Alternative ist die Installation vom github CRAN Spiegel.

 library(remotes) install_github("cran/foobarbaz") 

7. Es gibt keine Windows / OS X / Linux-Binärdatei

Es muss möglicherweise keine Windows-Binärdatei enthalten, da zusätzliche Software benötigt wird, die CRAN nicht hat. Darüber hinaus sind einige Pakete nur für einige oder alle Plattformen über die Quellen verfügbar. In diesem Fall kann eine Version im CRAN (extras) setRepositories CRAN (extras) Repository vorhanden sein (siehe setRepositories oben).

Wenn das Paket Code kompilieren muss (zB C, C ++, FORTRAN), installieren Sie unter Windows Rtools oder unter OS X die mit XCode mitgelieferten Entwickler-Tools und installieren Sie die Quellversion des Pakets über:

 install.packages("foobarbaz", type = "source") # Or equivalently, for Bioconductor packages: source("http://bioconductor.org/biocLite.R") biocLite("foobarbaz", type = "source") 

Auf CRAN können Sie feststellen, ob Sie spezielle Tools zum Erstellen des Pakets aus der Quelle benötigen, indem NeedsCompilation in der Beschreibung auf das NeedsCompilation Flag NeedsCompilation .


8. Das Paket ist auf github / Bitbucket / Gitorious

Es kann ein Repository auf Github / Bitbucket / Gitorious haben. Für diese Pakete muss das remotes Paket installiert werden.

 library(remotes) install_github("packageauthor/foobarbaz") install_bitbucket("packageauthor/foobarbaz") install_gitorious("packageauthor/foobarbaz") 

(Wie bei installr müssen Sie möglicherweise zuerst installr install.packages("remotes") installr .)


9. Es gibt keine Quellversion des Pakets

Obwohl die binäre Version Ihres Pakets verfügbar ist, ist die Quellversion nicht verfügbar. Sie können diese Überprüfung deaktivieren, indem Sie festlegen

 options(install.packages.check.source = "no") 

wie in dieser SO Antwort beschrieben von imanuelc und dem Detailbereich von ?install.packages .


10. Das Paket befindet sich in einem nicht standardmäßigen Repository

Ihr Paket befindet sich in einem nicht standardmäßigen Repository (z. B. Rbbg ). Unter der Annahme, dass es den CRAN-Standards einigermaßen entspricht, können Sie es dennoch mit install.packages herunterladen. Sie müssen nur die Repository-URL angeben.

 install.packages("Rbbg", repos = "http://r.findata.org") 

RHIPE befindet sich dagegen nicht in einem CRAN-ähnlichen Repository und hat eigene Installationsanweisungen .

Im letzten R (3.2.3) gibt es einen Fehler, der es manchmal verhindert, das richtige Paket zu finden. Die Problemumgehung besteht darin, das Repository manuell festzulegen:

 install.packages("lubridate", dependencies=TRUE, repos='http://cran.rstudio.com/') 

Lösung in anderer Frage gefunden

Es scheint ein Problem mit einigen Versionen von R und libcurl . Ich hatte das gleiche Problem auf Mac (R version 3.2.2) und Ubuntu (R version 3.0.2) und in beiden Fällen wurde es einfach durch Ausführen vor dem Befehl install.packages getriggers

 options(download.file.method = "wget") 

Die Lösung wurde von einem Freund vorgeschlagen, aber ich konnte es in keinem der Foren finden und übermittelte diese Antwort daher für andere.

11. R (oder eine andere Abhängigkeit) ist veraltet und Sie möchten es nicht aktualisieren.

Warnung, dies ist nicht gerade die beste Vorgehensweise.

  • Laden Sie die Paketquelle herunter.
  • Navigieren Sie zu der Datei DESCRIPTION .
  • Entfernen Sie die störende Zeile mit Ihrem Texteditor zB

     Depends: R (>= 3.1.1) 
  • Installieren von lokal (dh aus dem übergeordneten Verzeichnis von DESCRIPTION ) z

     install.packages("foo", type="source", repos=NULL) 

Eine Sache, die mir passiert ist, dass die Version von R von meiner Linux Distribution (R Version 3.0.2 von Ubuntu 14.04) für die neueste Version des Pakets auf CRAN (in meinem Fall plyr Version 1.8) zu alt war. 3 ab heute). Die Lösung war, das Verpackungssystem meiner Distribution zu verwenden, anstatt zu versuchen, von R zu installieren ( apt-get install r-cran-plyr hat mir Version 1.8.1 von plyr ). Vielleicht hätte ich versuchen können, R mit updateR() zu aktualisieren, aber ich befürchte, dass dies den Paketmanager meiner Distribution stören würde.

Das hat mir viel Zeit beim Debuggen von Fehlern erspart. In vielen Fällen sind nur Spiegel veraltet. Diese function kann mithilfe von https://cran.rstudio.com/ mehrere Pakete mit ihren Abhängigkeiten 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")) 

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

1: Für dieses Paket gegoogelt.

2: lud es manuell mit der Erweiterung tar.gz herunter

3: Wählen Sie die Option “Paketarchivdatei (.zip; .tar.gz)” für Installationspakete in R

4: durchsucht lokal zu dem Ort, wo es heruntergeladen wurde und klicken Sie auf installieren

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

Ich habe diesen Fehler unter Ubuntu behoben, indem ich die statementen zur Installation von R sorgfältig befolgt habe . Dies beinhaltete:

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

Für Schritt 1 können Sie einen beliebigen CRAN-Download-Spiegel anstelle meiner Universität von Toronto wählen, wenn Sie möchten.

Ich hatte das gleiche Problem (unter Linux), das durch Ändern der Proxy-Einstellungen behoben werden konnte. Wenn Sie sich hinter einem Proxy-Server befinden, überprüfen Sie die Konfiguration mit Sys.getenv("http_proxy") in R. In meinem ~/.Renviron ich die folgenden Zeilen (von https://support.rstudio.com/hc/en-us) / articles / 200488488 – Konfigurieren von R-to-Use-einem-HTTP-oder-HTTPS-Proxy ), das das Problem verursacht:

 http_proxy=https://proxy.dom.com:port http_proxy_user=user:passwd 

Ändern zu

 http_proxy="http://user:passwd@proxy.dom.com:port" 

Problem getriggers. Sie können das gleiche für https tun.

Es war nicht der erste Gedanke, als ich las “Paket xxx ist nicht verfügbar für r Version-xyz” …

HTH

Ich habe den Fehler gemacht, bei der Installation des R-Pakets aus dem Quellcode zu vergessen, repos=NULL zu setzen. In diesem Fall ist die Fehlermeldung etwas irreführend: package 'foobarbaz' is not available (for R version xyz)

Das Problem war nicht die Version von R, es war der repos Parameter. Ich habe install.packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL) was bei dieser Gelegenheit für mich funktionierte.

Hoffe, das hilft jemandem.

Es funktioniert fast immer für mich, wenn ich Bioconductor als Quelle benutze und dann BioClite anrufe. Beispiel:

 source("https://bioconductor.org/biocLite.R") biocLite("preprocessCore") 

Wie bereits erwähnt (auf Französisch), kann dies passieren, wenn Sie zwei Versionen von R auf Ihrem Computer installiert haben. Deinstallieren Sie den ältesten und versuchen Sie es erneut mit der Paketinstallation! Es hat gut für mich funktioniert.

Ein weiterer kleiner Zusatz, während Sie versuchen, eine alte R-Version mit dem Docker-Image zu testen rocker/r-ver:3.1.0

  1. Die Standard- repos Einstellung ist MRAN und dies kann nicht viele Pakete erhalten.
  2. Diese Version von R hat kein https , also zum Beispiel: install.packages("knitr", repos = "https://cran.rstudio.com") scheint zu funktionieren.

Ich habe das gleiche Problem bei der Installation des Pakets “Sentiment” festgestellt. Startete Suche und versuchte viele Befehle. Abschließend wird das Paket mit folgendem Befehl installiert:

 install_url("http://cran.r-project.org/src/contrib/Archive/sentiment/sentiment_0.2.tar.gz")