it-swarm.com.de

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

Ich habe versucht, ein Paket mit zu installieren

install.packages("foobarbaz")

erhielt aber die Warnung

Warning message:
package 'foobarbaz' is not available (for R version x.y.z)

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

Siehe auch diese Fragen, die sich auf bestimmte Instanzen 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 tun, wenn ein Paket für unsere R-Version nicht verfügbar ist?
Ist das bigvis-Paket für R nicht für R Version 3.0.1 verfügbar?
Paket "syncwave"/"mvcwt" ist nicht verfügbar (für R Version 3.0.2)
Paket ‘diamonds’ ist nicht verfügbar (für R Version 3.0.0)
Ist das Plyr-Paket für R nicht für R Version 3.0.2 verfügbar?
https://stackoverflow.com/questions/21580661/installing-predictabel-package-on-r-2-15-2
Paket bigmemory nicht auf R 64 3.0.2 installiert
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)
Probleme 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

496
Richie Cotton

1. Sie können nicht buchstabieren

Das erste, was Sie testen müssen, ist Haben Sie den Namen des Pakets richtig geschrieben? Bei den Paketnamen muss in R die Groß- und Kleinschreibung beachtet werden.


2. Sie haben nicht im richtigen Repository gesucht

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

_setRepositories()
_

Siehe auch ? SetRepositories .

Um zu sehen, in welchen Repositorys R nach Ihrem Paket sucht, wählen Sie optional einige zusätzliche aus. Zumindest sollten Sie normalerweise CRAN auswählen und CRAN (extras), wenn Sie Windows verwenden, und die _Bioc*_ -Repositorys, wenn Sie dies tun [gen/prote/metabol/transcript] omics biologische Analysen.

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


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

Senden Sie alle verfügbaren Pakete mit

_ap <- available.packages()
_

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

Da es sich um eine große Matrix handelt, können Sie sie mit dem Daten-Viewer untersuchen. Alternativ können Sie schnell überprüfen, ob das Paket verfügbar ist, indem Sie anhand der 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 , angezeigt werden. R-Forge , RForge und Github .

Eine weitere mögliche Warnmeldung, die bei der Interaktion mit CRAN-Spiegeln angezeigt wird, lautet:

_Warning: unable to access index for repository
_

Möglicherweise ist das ausgewählte CRAN-Repository derzeit nicht verfügbar. Sie können mit chooseCRANmirror() einen anderen Spiegel auswählen und die Installation erneut versuchen.


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


4. Du willst kein Paket

Vielleicht möchten Sie nicht wirklich ein Paket. Es ist üblich, über den Unterschied zwischen einem Paket und einer Bibliothek oder einem Paket und einem Datensatz verwechselt zu werden.

Eine Packung ist eine standardisierte Sammlung von Material, das R erweitert, z. Bereitstellung von Code, Daten oder Dokumentation. Eine Bibliothek ist ein Ort (Verzeichnis), an dem R Pakete findet, die es verwenden kann

Geben Sie ein, um die verfügbaren Datensätze anzuzeigen

_data()
_

5. R oder Bioconductor ist veraltet

Es kann eine Abhängigkeit von einer neueren Version von R (oder einem der Pakete, die es importiert/von denen es abhängt) haben. Ansehen

_ap["foobarbaz", "Depends"]
_

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

_library(installr)
updateR()
_

(Möglicherweise müssen Sie zuerst install.packages("installr") ausführen.)

Entsprechend müssen Sie für Bioconductor-Pakete möglicherweise Ihre Bioconductor-Installation aktualisieren.

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

6. Das Paket ist veraltet

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

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

_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

Möglicherweise ist kein Windows-Binärdatei vorhanden, da zusätzliche Software erforderlich ist, über die CRAN nicht verfügt. Darüber hinaus sind einige Pakete nur über die Quellen für einige oder alle Plattformen verfügbar. In diesem Fall befindet sich möglicherweise eine Version im Repository CRAN (extras) (siehe setRepositories oben).

Wenn das Paket das Kompilieren von Code erfordert (z. B. C, C++, FORTRAN), installieren Sie unter Windows Rtools oder OS X Entwicklertools und installieren Sie die Quellversion von das paket über:

_install.packages("foobarbaz", type = "source")

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

In CRAN können Sie anhand des Flags NeedsCompilation in der Beschreibung feststellen, ob Sie spezielle Tools benötigen, um das Paket aus dem Quellcode zu erstellen.


8. Das Paket ist auf Github/Bitbucket/Gitorious

Möglicherweise gibt es ein Repository für Github/Bitbucket/Gitorious. Für diese Pakete muss das Paket remotes 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 install.packages("remotes") ausführen.)


9. Es gibt keine Quellversion des Pakets

Obwohl die Binärversion Ihres Pakets verfügbar ist, ist dies bei der Quellversion nicht der Fall. Sie können diese Prüfung durch Einstellen deaktivieren

_options(install.packages.check.source = "no")
_

wie in diese SO Antwort von imanuelc und im Detailabschnitt von ?install.packages beschrieben.


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 mit den CRAN-Standards einigermaßen kompatibel ist, 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 hingegen nicht in einem CRAN-ähnlichen Repository und verfügt über ein eigenes Installationsanweisungen .

505
Richie Cotton

In der neuesten Version R (3.2.3) ist ein Fehler aufgetreten, der manchmal verhindert, dass das richtige Paket gefunden wird. Die Problemumgehung besteht darin, das Repository manuell festzulegen:

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

Gefundene Lösung in andere Frage

84
Dmitry

Bei einigen Versionen von R und libcurl scheint ein Problem zu bestehen. Ich hatte das gleiche Problem bei Mac (R version 3.2.2) und Ubuntu (R version 3.0.2) und in beiden Fällen wurde es einfach durch Ausführen dieses Befehls vor dem Befehl install.packages behoben

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

Die Lösung wurde von einem Freund vorgeschlagen, ich konnte sie jedoch in keinem der Foren finden und habe sie daher für andere eingereicht.

23
Saba

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

Warnung Dies ist nicht unbedingt die beste Vorgehensweise.

  • Laden Sie die Paketquelle herunter.
  • Navigieren Sie zur Datei DESCRIPTION.
  • Entfernen Sie die störende Zeile mit Ihrem Texteditor, z.

    Depends: R (>= 3.1.1)
    
  • Installation von lokal (d. H. Aus dem übergeordneten Verzeichnis von DESCRIPTION), z.

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

Diese Lösung könnte R brechen, aber hier ist eine einfachste Lösung, die 99% der Zeit funktioniert.

Sie müssen nur Folgendes tun:

install.packages('package-name',repos='http://cran.us.r-project.org')

Wie vom Autor erwähnt über hier

12
PaladiN

Eine Sache, die mir passiert ist, ist, dass die von meiner Linux-Distribution bereitgestellte Version von R (R-Version 3.0.2 von Ubuntu 14.04) zu alt für die neueste Version des auf CRAN verfügbaren Pakets war (in meinem Fall plyr Version 1.8.3 ab heute). Die Lösung bestand darin, das Paketierungssystem 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.

9
bli

Das ersparte mir viel Zeit beim Debuggen. In vielen Fällen sind nur Spiegel veraltet. Diese Funktion kann mehrere Pakete mit ihren Abhängigkeiten mithilfe 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"))
8
Tombart

Ich habe diesen Fehler unter Ubuntu behoben, indem ich die Anweisungen zur Installation von R genau befolgt habe. Dies beinhaltete:

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

Für Schritt 1 können Sie einen beliebigen CRAN-Download-Spiegel anstelle meines Spiegels an der Universität von Toronto auswählen, wenn Sie möchten.

4
AlexG

Dies ist, was ich endlich tun kann, um das Psych-Paket in R-3.4.1 zu installieren, wenn ich die gleiche Warnung bekomme

1: Für dieses Paket gegoogelt.

2: Manuelles Herunterladen mit der Erweiterung tar.gz

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

4: Lokal zu dem Ort navigiert, an dem es heruntergeladen und auf Installieren geklickt wurde

Möglicherweise wird eine Warnung angezeigt: 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.

4
Biboswan

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

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

Ändern Sie es auf

http_proxy="http://user:[email protected]:port"

problem gelöst. Sie können dasselbe für https tun.

Es war nicht der erste Gedanke, als ich las "Paket xxx ist nicht verfügbar für Version-x-y-z" ...

HTH

3
nachti

Ich habe den Fehler gemacht, beim Installieren des R-Pakets aus dem Quellcode zu vergessen, repos=NULL zu setzen. In diesem Fall ist die Fehlermeldung leicht irreführend: package 'foobarbaz' is not available (for R version x.y.z)

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

Hoffe das hilft jemandem.

3
damjan

Bei mir funktioniert es fast immer, wenn ich Bioconductor als Quelle verwende und dann biocLite aufrufe. Beispiel:

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

Eine weitere kleine Erweiterung beim Versuch, mit dem Docker-Image rocker/r-ver:3.1.0 auf eine alte R-Version zu testen

  1. Die Standardeinstellung repos ist MRAN, und es werden nicht viele Pakete abgerufen.
  2. Diese Version von R hat https nicht, also zum Beispiel: install.packages("knitr", repos = "https://cran.rstudio.com") scheint zu funktionieren.
0
Jack Wasey