¿Cómo debo lidiar con “paquete” xxx “no está disponible (para R versión xyz)” advertencia?

Intenté instalar un paquete, usando

install.packages("foobarbaz") 

pero recibió la advertencia

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

¿Por qué R no piensa que el paquete está disponible?

Consulte también estas preguntas que se refieren a instancias específicas de este problema:

Mi paquete no funciona para R 2.15.2
el paquete ‘Rbbg’ no está disponible (para R versión 2.15.2)
el paquete no está disponible (para R versión 2.15.2)
el paquete doMC NO está disponible para R versión 3.0.0 advertencia en install.packages
Dependencia ‘Rglpk’ no está disponible para el paquete ‘fPortfolio’
¿Qué hacer cuando un paquete no está disponible para nuestra versión R?
¿El paquete bigvis para R no está disponible para R versión 3.0.1?
El paquete ‘syncwave’ / ‘mvcwt’ no está disponible (para R versión 3.0.2)
el paquete ‘diamantes’ no está disponible (para R versión 3.0.0)
¿El paquete plyr para R no está disponible para R versión 3.0.2?
https://stackoverflow.com/questions/21580661/installing-predictabel-package-on-r-2-15-2
Paquete bigmemory no instalado en R 64 3.0.2
el paquete “makeR” no está disponible (para la versión 3.0.2)
el paquete ‘RTN’ no está disponible (para R versión 3.0.1)
Problemas para instalar el paquete geoR
el paquete ‘twitterR’ no está disponible (para R versión 3.1.0)
¿Cómo instalar ‘Rcpp, paquete? Tengo “el paquete no está disponible”
el paquete ‘dataset’ no está disponible (para R versión 3.1.1)
“package ‘rhipe’ no está disponible (para R versión 3.1.2)”
https://stackoverflow.com/questions/31439092/package-dplyr-is-not-available-for-r-version-3-1-1

1. No puedes deletrear

Lo primero que debe probar es ¿ ha escrito correctamente el nombre del paquete? Los nombres de paquete son sensibles a mayúsculas y minúsculas


2. No buscó en el repository correcto

A continuación, debe verificar si el paquete está disponible. Tipo

 setRepositories() 

Ver también ? SetRepositories .

Para ver qué repositorys buscará R para su paquete y, opcionalmente, seleccione algunos adicionales. Por lo menos, generalmente querrá que se seleccione CRAN (extras) , y CRAN (extras) si usa Windows, y los repositorys Bioc* si hace [gen / prote / metabol / transcript] omics análisis biológicos.

Para cambiar esto permanentemente, agregue una línea como setRepositories(ind = c(1:6, 8)) a su archivo Rprofile.site .


3. El paquete no está en los repositorys que seleccionó

Devuelve todos los paquetes disponibles usando

 ap <- available.packages() 

Ver también los nombres de los paquetes disponibles de R,? Disponibles.paquetes .

Dado que esta es una matriz grande, es posible que desee utilizar el visor de datos para examinarlo. Alternativamente, puede verificar rápidamente si el paquete está disponible al probar con los nombres de las filas.

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

Alternativamente, la lista de paquetes disponibles se puede ver en un navegador para CRAN , CRAN (extras) , Bioconductor , R-forge , RForge y github .

Otro posible mensaje de advertencia que puede obtener al interactuar con los espejos de CRAN es:

 Warning: unable to access index for repository 

Lo que puede indicar que el repository CRAN seleccionado actualmente no está disponible. Puede seleccionar un espejo diferente con chooseCRANmirror() e intentar la instalación nuevamente.


Hay varias razones por las que un paquete puede no estar disponible.


4. No quieres un paquete

Tal vez realmente no quieres un paquete. Es común confundirse acerca de la diferencia entre un paquete y una biblioteca , o un paquete y un conjunto de datos.

Un paquete es una colección estandarizada de material que extiende R, por ejemplo, proporciona código, datos o documentación. Una biblioteca es un lugar (directorio) donde R sabe para encontrar paquetes que puede usar

Para ver los conjuntos de datos disponibles, escriba

 data() 

5. R o Bioconductor está desactualizado

Puede tener una dependencia en una versión más reciente de R (o uno de los paquetes que importa / depende de does). Mirar

 ap["foobarbaz", "Depends"] 

y considere actualizar su instalación R a la versión actual. En Windows, esto se hace más fácilmente a través del paquete installr .

 library(installr) updateR() 

(Por supuesto, puede que necesite install.packages("installr") primero).

Equivalentemente para los paquetes de Bioconductor, es posible que deba actualizar su instalación de Bioconductor.

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

6. El paquete está desactualizado

Es posible que se haya archivado (si ya no se mantiene y ya no supera las pruebas de R CMD check ).

En este caso, puede cargar una versión anterior del paquete utilizando install_version()

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

Una alternativa es instalar desde el espejo github CRAN.

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

7. No hay binario de Windows / OS X / Linux

Es posible que no tenga un binario de Windows debido a que requiere un software adicional que CRAN no tiene. Además, algunos paquetes están disponibles solo a través de las fonts para algunas o todas las plataformas. En este caso, puede haber una versión en el repository CRAN (extras) (vea setRepositories arriba).

Si el paquete requiere código de comstackción (por ejemplo, C, C ++, FORTRAN), entonces en Windows instale Rtools o en OS X instale las herramientas de desarrollador que acompañan a XCode, e instale la versión de origen del paquete a través de:

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

En CRAN, puede ver si necesita herramientas especiales para comstackr el paquete desde el origen mirando el indicador NeedsComstacktion en la descripción.


8. El paquete está en github / Bitbucket / Gitorious

Puede tener un repository en Github / Bitbucket / Gitorious. Estos paquetes requieren el paquete de remotes para instalar.

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

(Como con installr , es posible que necesite install.packages("remotes") primero).


9. No hay una versión fuente del paquete

Aunque la versión binaria de su paquete está disponible, la versión original no. Puede desactivar este control configurando

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

como se describe en esta respuesta SO por imanuelc y la sección Detalles de ?install.packages .


10. El paquete está en un repository no estándar

Su paquete está en un repository no estándar (por ejemplo, Rbbg ). Suponiendo que es razonablemente compatible con los estándares CRAN, aún puede descargarlo usando install.packages ; solo tiene que especificar la URL del repository.

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

RHIPE por otro lado, no está en un repository similar a CRAN y tiene sus propias instrucciones de instalación .

En la última R (3.2.3) hay un error que le impide algunas veces encontrar el paquete correcto. La solución alternativa es configurar el repository de forma manual:

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

Solución encontrada en otra pregunta

Parece que hay un problema con algunas versiones de R y libcurl . He tenido el mismo problema en Mac (R version 3.2.2) y Ubuntu (R version 3.0.2) y en ambos casos se resolvió simplemente ejecutando esto antes del comando install.packages

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

La solución fue sugerida por un amigo, sin embargo, no he podido encontrarla en ninguno de los foros, por lo tanto, he enviado esta respuesta a otros.

11. R (u otra dependencia) está desactualizada y no desea actualizarla.

Advirtiendo que esto no es exactamente la mejor práctica.

  • Descargue la fuente del paquete.
  • Navegue al archivo DESCRIPTION .
  • Elimine la línea ofensiva con su editor de texto, por ejemplo

     Depends: R (>= 3.1.1) 
  • Instalar desde local (es decir, desde el directorio principal de DESCRIPTION ), por ej.

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

Una cosa que me sucedió es que la versión de R proporcionada por mi distribución de Linux (R versión 3.0.2 proporcionada por Ubuntu 14.04) era demasiado antigua para la última versión del paquete disponible en CRAN (en mi caso, la versión 1.8 de plyr ). 3 a partir de hoy). La solución fue utilizar el sistema de empaque de mi distribución en lugar de intentar instalar desde R ( apt-get install r-cran-plyr me consiguió la versión 1.8.1 de plyr ). Tal vez podría haber intentado actualizar R usando updateR() , pero me temo que hacerlo interferiría con el administrador de paquetes de mi distribución.

Esto me ahorró mucho tiempo depurando lo que está mal. En muchos casos son solo espejos obsoletos. Esta función puede instalar múltiples paquetes con sus dependencias usando 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")) 

Esto es lo que finalmente podría hacer para instalar el paquete psych en R-3.4.1 cuando recibí la misma advertencia

1: buscado en Google para ese paquete.

2: lo descargué manualmente con la extensión tar.gz

3: Elija la opción “Archivo de archivo de paquete (.zip; .tar.gz)” para instalar paquetes en R

4: navegado localmente al lugar donde se descargó e hizo clic en instalar

Puede recibir una advertencia: las dependencias ‘xyz’ no están disponibles para el paquete, luego primero instale las del repository y luego realice los pasos 3-4.

Solucioné este error en Ubuntu siguiendo cuidadosamente las instrucciones para instalar R. Esto incluyó:

  1. agregando deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/ a mi archivo /etc/apt/sources.list
  2. Ejecutar sudo apt-get update
  3. Ejecutando sudo apt-get install r-base-dev

Para el paso 1, puede elegir cualquier espejo de descarga CRAN en lugar de uno de la Universidad de Toronto, si lo desea.

Tuve el mismo problema (en Linux) que podría resolverse cambiando la configuración del proxy. Si está detrás de un servidor proxy, verifique la configuración usando Sys.getenv("http_proxy") dentro de R. En mi ~/.Renviron tenía las siguientes líneas (desde https://support.rstudio.com/hc/en-us / articles / 200488488-Configuring-R-to-Use-an-HTTP-or-HTTPS-Proxy ) que causa el problema:

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

Cambiando a

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

resuelve el problema. Puedes hacer lo mismo con https .

No fue el primer pensamiento cuando leí “el paquete xxx no está disponible para r versión-xyz” …

HTH

Cometí el error de olvidar poner repos=NULL al instalar el paquete R desde el código fuente. En este caso, el mensaje de error es ligeramente engañoso: el package 'foobarbaz' is not available (for R version xyz)

El problema no era la versión de R, era el parámetro de repos . Hice install.packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL) que funcionó para mí en esta ocasión.

Espero que esto ayude a alguien.

Casi siempre funciona para mí cuando uso bioconductor como fuente y luego invoco BiocLite. Ejemplo:

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

Como se menciona aquí (en francés), esto puede suceder cuando tiene dos versiones de R instaladas en su computadora. Desinstale el más antiguo, ¡luego intente de nuevo la instalación de su paquete! Funcionó bien para mí

Otra adición menor, al intentar probar una versión R antigua utilizando la ventana acoplable rocker/r-ver:3.1.0

  1. La configuración de repos predeterminada es MRAN y no puede obtener muchos paquetes.
  2. Esa versión de R no tiene https , por lo que, por ejemplo: install.packages("knitr", repos = "https://cran.rstudio.com") parece funcionar.

Me encontré con el mismo problema al instalar el paquete “sentimiento”. Comenzó a buscar y probó muchos comandos. Finalmente el paquete instalado usando el siguiente comando:

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