R: apt-get install r-cran-foo vs install.packages ( “foo”)
Pregunta
Cuando la instalación de paquetes R (mcmcpack
por ejemplo en este ejemplo) bajo Ubuntu tengo la elección entre los dos métodos siguientes de la instalación:
# Let the distribution's packaging system take care of installation/upgrades
apt-get install r-cran-mcmcpack
# Let R take care of installation/upgrades
install.packages("mcmcpack")
Preguntas:
- ¿Es cualquiera de las dos formas de instalar paquetes de R considerados "mejores prácticas"?
- Se supone que por primera vez
install.packages("mcmcpack")
y más tardeapt-get install r-cran-mcmcpack
- debería esperar problemas - Se supone que por primera vez
apt-get install r-cran-mcmcpack
y más tardeinstall.packages("mcmcpack")
- debería esperar problemas
Solución
No es tan fácil como parece.
-
apt-get update
es bueno, siempre y cuando- existen
paquetes - pero sólo hay alrededor de 150 o más paquetes
r-cran-*
fuera de un grupo de paquetes en 2100+ CRAN, la cobertura de manera más bien escasa -
paquetes se mantienen, libre de errores y actual
-
usted es lo suficientemente contento con los lanzamientos bianuales de Ubuntu
- existen
-
install.packages()
y más tardeupdate.packages()
es bueno, siempre y cuando-
sabes lo que se necesita para tener dependencias en tiempo de construcción (además
r-base-dev
) instalado -
no le importa correr
update.packages()
a mano, así como las actualizacionesapt-get
.
-
En mi máquina de Ubuntu en el trabajo, voy con la segunda solución. Pero debido a que el primero es mejor si tiene suficiente cobertura , hemos construido < strong> cran2deb que proporciona 2050+ paquetes deb binarios para amd64 e i386 --- pero sólo para las pruebas de Debian. Eso es lo que uso en casa.
En cuanto a la última pregunta de si 'que debe esperar problemas': No, porque R_LIBS_SITE
se encuentra en /etc/R/Renvironment
sea
# edd Apr 2003 Allow local install in /usr/local, also add a directory for
# Debian packaged CRAN packages, and finally the default dir
# edd Jul 2007 Now use R_LIBS_SITE, not R_LIBS
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:\
/usr/lib/R/site-library:/usr/lib/R/library'}
Lo que significa que su paquetes entran en /usr/local/lib/R/site-library
mientras que los gestionados por ir apt
en /usr/lib/R/site-library
y (en el caso de envases de bases) /usr/lib/R/library
.
La esperanza que clarifica asuntos. La lista de correo r-sig-debian es un lugar más informado para este tipo de preguntas.
Otros consejos
-
Me considerar el uso de las mejores prácticas
apt-get
ya que recibirá actualizaciones automáticas a través de las herramientas del sistema estándar. -
Tener 2 versiones instaladas podrían obtener en confundir situaciones:. Dependiendo de su configuración R se podía cargar otra versión del paquete entonces se puede esperar - su privada (tal vez obsoleta) uno debe de ser, en general carga por primera vez
-
Consulte más arriba.