¿Cómo instalo un paquete R desde la fuente?


392

Un amigo me ha enviado a lo largo de este gran tutorial sobre web scraping NYTimes con R . Realmente me encantaría probarlo. Sin embargo, el primer paso es instalar un paquete llamado RJSONIO desde la fuente.

Sé R razonablemente bien, pero no tengo idea de cómo instalar un paquete desde la fuente.

Estoy ejecutando Mac OSX.


1
Esto está muy relacionado: stackoverflow.com/questions/11105131/…
GSee

Respuestas:


487

Si tiene el archivo localmente, use install.packages()y configure repos=NULL:

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

Donde path_to_filerepresentaría la ruta completa y el nombre del archivo:

  • En Windows se verá algo como esto: "C:\\RJSONIO_0.2-3.tar.gz".
  • En UNIX que se verá como esto: "/home/blah/RJSONIO_0.2-3.tar.gz".

2
Esto también funciona si file_name_and_pathes el repositorio de origen local de un paquete R.
Faheem Mitha

1
Tenga en cuenta que la INSTALL_optsopción se puede utilizar para pasar opciones a R CMD INSTALL. Por ejemplo, "--no-multiarch"
Andy Barbour

2
install.packages ("/ tmp / shiny_0.13.1.tar.gz", repos = NULL, type = "source") me sale este error: -ksh: error de sintaxis: `('inesperado
iaav

3
Como señaló @Cerin, debes ocuparte de la extensión. Tuve un error "(ya que 'lib' no está especificado)" de R con archivos .zip. Todo funciona bien después de cambiar la extensión a .tar.
Mohamed Hasan

2
Vale la pena señalar eso porque repos = NULLeste enfoque no instalará dependencias, por ejemplo, de CRAN. esta respuesta sugiere devtools::install_local(path_to_file)que para mí es más simple (menos argumentos para proporcionar) y mejor (también instala dependencias).
mac

97

Descargue el paquete fuente, abra Terminal.app, navegue hasta el directorio donde tiene actualmente el archivo y luego ejecute:

R CMD INSTALL RJSONIO_0.2-3.tar.gz

Tenga en cuenta que esto solo tendrá éxito cuando: a) el paquete no necesita compilación ob) las herramientas del sistema necesarias para la compilación están presentes. Ver: https://cran.r-project.org/bin/macosx/tools/


3
Intenté esto y obtuve un error: Madjoro-MacBook-Pro: ~ Madjoro $ R CMD INSTALL RJSONIO_0.2-3.tar.gz Advertencia: paquete no válido 'RJSONIO_0.2-3.tar.gz' Error: ERROR: sin paquetes especificado

1
Debe especificar la ruta correcta al archivo .tar.gz y se requieren las herramientas XCode ( developer.apple.com/TOOLS/Xcode ).
rcs

1
¿Hay alguna manera de construir el .zip binario desde la fuente?
haridsv

55
Encontró la solución, debe usar la opción binaria.
haridsv

¿Cuántas veces has venido aquí porque escribiste instalar en lugar de INSTALAR?
Brandon Bertelsen

50

Puede instalar directamente desde el repositorio (tenga en cuenta lo siguiente type="source"):

install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source")

3
Intenté esto y obtuve un error: * Instalando el paquete fuente 'RJSONIO' ... ** libs ** arch - i386 sh: make: comando no encontrado ERROR: la compilación falló para el paquete 'RJSONIO' RMate se detuvo en la línea 3 * Eliminando ' /Library/Frameworks/R.framework/Versions/2.9/Resources/library/RJSONIO 'Los paquetes descargados están en' / private / var / carpetas / Ey / EyzhYjoKESmsmsZ6K87PeU +++ TI / -Tmp- / Rtmpe3C96p / descargar_paquetes 'Actualizando HTML índice de paquetes en '.Library' Mensaje de advertencia: En install.packages ("RJSONIO", repos = " omegahat.org/R " ,: la instalación del paquete 'RJSONIO' tenía un estado de salida distinto de cero

66
¿Tiene instaladas las herramientas de desarrollador? Vienen en el DVD de instalación de Mac OS X. Como este paquete tiene código C, necesitará un compilador para instalarlo desde la fuente.
Eduardo Leoni

1
Sospecho que no tengo instaladas las herramientas de desarrollador. Al menos, no recuerdo haberlos instalado. ¡Gracias!

44
Si está haciendo esto en Windows, puede obtener las herramientas de desarrollador de murdoch-sutherland.com/Rtools ... asegúrese de que al instalar marque la casilla que dice actualizar su ruta (puede ser un poco difícil de leer ... (solo marque la casilla no marcada que aparece)
Dan Goldstein

27

Una sugerencia adicionalmente útil (pero trivial) para instalar versiones anteriores de paquetes desde la fuente.

Primero, si llama "install.packages", siempre instala el último paquete de repo. Si desea instalar la versión anterior de los paquetes, por compatibilidad, puede llamar a install.packages ("url_to_source", repo = NULL, type = "source"). Por ejemplo:

install.packages("http://cran.r-project.org/src/contrib/Archive/RNetLogo/RNetLogo_0.9-6.tar.gz", repo=NULL, type="source")

Sin descargar manualmente los paquetes en el disco local y cambiar a la línea de comandos o instalar desde el disco local, descubrí que es muy conveniente y simplifico la llamada (un paso).

Además: puede usar este truco con dev_mode de la biblioteca devtools, para administrar diferentes versiones de paquetes:

Referencia: doc devtools


9

Desde cran , puede instalar directamente desde una dirección de repositorio de github. Entonces, si quieres el paquete en https://github.com/twitter/AnomalyDetection:

library(devtools)
install_github("twitter/AnomalyDetection")

Hace el truco.


8

Además, puede compilar el paquete binario usando la opción --binary.

R CMD build --binary RJSONIO_0.2-3.tar.gz

21
R CMD build --binaryes obsoleto; utilizar R CMD INSTALL --builden su lugar
f3lix
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.