web-dev-qa-db-fra.com

Comment dois-je gérer l'avertissement "Le package 'xxx' n'est pas disponible (pour la version R x.y.z)"?

J'ai essayé d'installer un paquet en utilisant

install.packages("foobarbaz")

mais a reçu l'avertissement

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

Pourquoi R ne pense-t-il pas que le package est disponible?

Voir également ces questions concernant des cas spécifiques de ce problème:

Mon paquet ne fonctionne pas pour R 2.15.2
le package 'Rbbg' n'est pas disponible (pour la version R 2.15.2)
package non disponible (pour la version R 2.15.2)
package doMC NON disponible pour l'avertissement R version 3.0.0 dans install.packages
La dépendance ‘Rglpk’ n’est pas disponible pour le package ‘fPortfolio’
Que faire lorsqu'un package n'est pas disponible pour notre version R?
Le package bigvis pour R n'est-il pas disponible pour R version 3.0.1?
le paquet ‘syncwave’/‘mvcwt’ n’est pas disponible (pour R version 3.0.2)
le package ‘diamonds’ n’est pas disponible (pour la version R 3.0.0)
Le package plyr pour R n'est-il pas disponible pour R version 3.0.2?
https://stackoverflow.com/questions/21580661/installing-predictabel-package-on-r-2-15-2
Le package bigmemory n’est pas installé sur la R 64 3.0.2
le paquet "makeR" n'est pas disponible (pour la version 3.0.2)
le package ‘RTN’ n’est pas disponible (pour la version R 3.0.1)
Problème d'installation du package geoR
le package ‘twitterR’ n’est pas disponible (pour la version 3.1.0 de R)
Comment installer 'Rcpp, package? J'ai "le package n'est pas disponible"
le paquet "dataset" n’est pas disponible (pour R version 3.1.1)
"Le package‘ rhipe ’n’est pas disponible (pour la version R 3.1.2)"
https://stackoverflow.com/questions/31439092/package-dplyr-is-not-available-for-r-version-3-1-1

496
Richie Cotton

1. Vous ne pouvez pas épeler

La première chose à tester est avez-vous orthographié le nom du paquet correctement? Les noms de paquet sont sensibles à la casse dans R.


2. Vous n'avez pas cherché dans le bon référentiel

Ensuite, vous devriez vérifier si le paquet est disponible. Type

_setRepositories()
_

Voir aussi ? SetRepositories .

Pour voir quels référentiels R recherchera votre paquet, et en sélectionner éventuellement d'autres. À tout le moins, vous souhaiterez généralement que CRAN soit sélectionné, et CRAN (extras) si vous utilisez Windows, ainsi que les référentiels _Bioc*_ si vous [gén/prote/metabol/transcript] omics analyses biologiques.

Pour changer cela de façon permanente, ajoutez une ligne comme setRepositories(ind = c(1:6, 8)) à votre fichier Rprofile.site .


3. Le package ne se trouve pas dans les référentiels que vous avez sélectionnés

Renvoyer tous les paquets disponibles en utilisant

_ap <- available.packages()
_

Voir aussi noms des paquets disponibles de R , ? Available.packages .

S'agissant d'une matrice volumineuse, vous souhaiterez peut-être utiliser la visionneuse de données pour l'examiner. Vous pouvez également vérifier rapidement si le package est disponible en effectuant un test par rapport aux noms de ligne.

_View(ap)
"foobarbaz" %in% rownames(ap)
_

Vous pouvez également consulter la liste des packages disponibles dans un navigateur pour CRAN , CRAN (extras) , Bioconductor , R-forge , RForge , et github .

Un autre message d'avertissement que vous pouvez recevoir lors de l'interaction avec les miroirs CRAN est le suivant:

_Warning: unable to access index for repository
_

Ce qui peut indiquer que le référentiel CRAN sélectionné est actuellement indisponible. Vous pouvez sélectionner un autre miroir avec chooseCRANmirror() et recommencer l'installation.


Il existe plusieurs raisons pour lesquelles un package peut ne pas être disponible.


4. Vous ne voulez pas de paquet

Peut-être que vous ne voulez pas vraiment un paquet. Il est courant de ne pas comprendre la différence entre n package et une bibliothèque , ou un package et un ensemble de données.

Un paquet est une collection normalisée de matériel s'étendant de R, par exemple fournir du code, des données ou de la documentation. Une bibliothèque est un endroit (répertoire) où R sait trouver les paquets qu’elle peut utiliser

Pour voir les jeux de données disponibles, tapez

_data()
_

5. R ou Bioconductor est obsolète

Il peut dépendre d'une version plus récente de R (ou de l'un des paquetages importés/dépendants). Regarder

_ap["foobarbaz", "Depends"]
_

et envisagez de mettre à jour votre installation de R vers la version actuelle. Sous Windows, cela se fait plus facilement via le package installr .

_library(installr)
updateR()
_

(Bien entendu, vous devrez peut-être commencer par install.packages("installr").)

De manière équivalente pour les packages Bioconductor, vous devrez peut-être mettre à jour votre installation Bioconductor.

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

6. Le paquet n'est plus à jour

Il peut avoir été archivé (s'il n'est plus maintenu et qu'il ne réussit plus R CMD check tests).

Dans ce cas, vous pouvez charger une ancienne version du paquet en utilisant install_version()

_library(remotes)
install_version("foobarbaz", "0.1.2")
_

Une alternative consiste à installer depuis le miroir Github CRAN.

_library(remotes)
install_github("cran/foobarbaz")
_

7. Il n'y a pas de binaire Windows/OS X/Linux

Il se peut qu’il n’ait pas de binaire Windows car il a besoin de logiciels supplémentaires que CRAN ne possède pas. En outre, certains packages ne sont disponibles que via les sources de certaines ou de toutes les plateformes. Dans ce cas, il peut y avoir une version dans le référentiel CRAN (extras) (voir setRepositories ci-dessus).

Si le paquet nécessite une compilation de code (par exemple, C, C++, FORTRAN), installez Windows Rtools ou installez-le sous OS X outils de développement accompagnant XCode, puis installez la version source de le paquet via:

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

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

Sur CRAN, vous pouvez indiquer si vous aurez besoin d'outils spéciaux pour créer le package à partir des sources en consultant l'indicateur NeedsCompilation dans la description.


8. Le paquet est sur github/Bitbucket/Gitorious

Il peut avoir un référentiel sur Github/Bitbucket/Gitorious. Ces packages nécessitent le package remotes à installer.

_library(remotes)
install_github("packageauthor/foobarbaz")
install_bitbucket("packageauthor/foobarbaz")
install_gitorious("packageauthor/foobarbaz")
_

(Comme avec installr, vous devrez peut-être d'abord install.packages("remotes").)


9. Il n'y a pas de version source du paquet

Bien que la version binaire de votre paquet soit disponible, la version source ne l’est pas. Vous pouvez désactiver cette vérification en définissant

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

comme décrit dans this SO answer by imanuelc et la section Détails de ?install.packages .


10. Le paquet est dans un dépôt non standard

Votre package se trouve dans un référentiel non standard (par exemple, Rbbg ). En supposant qu'il soit raisonnablement conforme aux normes CRAN, vous pouvez toujours le télécharger en utilisant _install.packages_; il vous suffit de spécifier l'URL du référentiel.

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

RHIPE Par contre, il ne se trouve pas dans un référentiel de type CRAN et possède son propre instructions d'installation .

505
Richie Cotton

La dernière version de R (3.2.3) contient un bogue qui l’empêche parfois de trouver le bon paquet. La solution consiste à définir le référentiel manuellement:

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

Solution trouvée dans autre question

84
Dmitry

Certaines versions de R et libcurl semblent poser problème. J'ai eu le même problème sur Mac (R version 3.2.2) et Ubuntu (R version 3.0.2) et dans les deux cas, il a été résolu simplement en l'exécutant avant la commande install.packages

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

La solution a été suggérée par un ami, cependant, je n'ai pas été en mesure de la trouver dans aucun forum, soumettant donc cette réponse à d'autres.

23
Saba

11. R (ou une autre dépendance) est obsolète et vous ne voulez pas le mettre à jour.

Avertissement Ce n'est pas exactement la meilleure pratique.

  • Téléchargez la source du paquet.
  • Accédez au fichier DESCRIPTION.
  • Supprimez la ligne incriminée avec votre éditeur de texte, par exemple.

    Depends: R (>= 3.1.1)
    
  • Installez à partir du répertoire local (à partir du répertoire parent de DESCRIPTION), par exemple.

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

Cette solution pourrait casser R, mais voici la solution la plus simple qui fonctionne 99% du temps.

Vous devez faire est juste:

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

Comme mentionné par l'auteur à propos de ici

12
PaladiN

Une chose qui m'est arrivée est que la version de R fournie par ma distribution linux (R version 3.0.2 fournie par Ubuntu 14.04) était trop ancienne pour la dernière version du paquet disponible sur CRAN (dans mon cas, plyr version 1.8.3 à ce jour). La solution consistait à utiliser le système d’emballage de ma distribution au lieu d’essayer d’installer à partir de R (apt-get install r-cran-plyr m’a obtenu la version 1.8.1 de plyr). J'aurais peut-être pu essayer de mettre à jour R avec updateR(), mais je crains que cela n'interfère avec le gestionnaire de paquets de ma distribution.

9
bli

Cela m'a fait gagner beaucoup de temps à déboguer ce qui ne va pas. Dans de nombreux cas, ce ne sont que des miroirs obsolètes. Cette fonction peut installer plusieurs paquets avec leurs dépendances en utilisant https://cran.rstudio.com/:

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

J'ai corrigé cette erreur sur Ubuntu en suivant attentivement les instructions d'installation de R . Cela comprenait:

  1. ajout de deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/ à mon fichier /etc/apt/sources.list
  2. En cours d'exécution Sudo apt-get update
  3. En cours d'exécution Sudo apt-get install r-base-dev

Pour l'étape 1, vous pouvez choisir n'importe quel miroir de téléchargement CRAN à la place de celui de l'Université de Toronto, si vous le souhaitez.

4
AlexG

C’est ce que j’ai enfin pu faire pour installer le paquet psychologique dans R-3.4.1 quand j’ai eu le même avertissement

1: googlé pour ce paquet.

2: téléchargé manuellement avec l'extension tar.gz

3: Choisissez l'option "Package Archive File (.Zip; .tar.gz)" pour installer les packages dans R

4: navigué localement à l'endroit où il a été téléchargé et cliqué sur installer

Vous pouvez recevoir un avertissement: les dépendances 'xyz' ne sont pas disponibles pour le paquet, puis commencez par les installer à partir du référentiel, puis suivez les étapes 3 à 4.

4
Biboswan

J'ai eu le même problème (sous Linux) qui pourrait être résolu en modifiant les paramètres du proxy. Si vous êtes derrière un serveur proxy, vérifiez la configuration à l'aide de Sys.getenv("http_proxy") dans R. Dans mon ~/.Renviron, j'avais les lignes suivantes (de https://support.rstudio.com/hc/en -us/articles/200488488-Configuration-R-to-Use-an-HTTP-ou-HTTPS-Proxy ) provoquant le problème:

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

En le changeant en

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

résolu le problème. Vous pouvez faire la même chose pour https.

Ce n’était pas la première pensée quand j’ai lu "Le paquet xxx n’est pas disponible pour la version r-x-y-z" ...

HTH

3
nachti

J'ai fait l'erreur d'oublier de mettre repos=NULL lors de l'installation du paquet R à partir du code source. Dans ce cas, le message d'erreur est légèrement trompeur: package 'foobarbaz' is not available (for R version x.y.z)

Le problème n'était pas la version de R, c'était le paramètre repos. J'ai fait install.packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL) qui a fonctionné pour moi à cette occasion.

J'espère que ça aide quelqu'un.

3
damjan

Cela fonctionne presque toujours pour moi lorsque j'utilise un bioconducteur comme source, puis que j'appelle biocLite. Exemple:

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

Autre ajout mineur, en essayant de tester une ancienne version R en utilisant l’image de menu fixe rocker/r-ver:3.1.0

  1. Le paramètre par défaut repos est MRAN et il ne parvient pas à obtenir de nombreux packages.
  2. Cette version de R n'a pas https, donc, par exemple: install.packages("knitr", repos = "https://cran.rstudio.com") semble fonctionner.
0
Jack Wasey