Instalar R en mi propio directorio

34

¿Cómo puedo instalar una nueva versión de R en mi propio directorio /local/data/project/behi?

usuario3925736
fuente
1
Es posible que pueda hacerlo comenzando desde la fuente; pero si tienes que preguntar, supongo que no estás dispuesto a hacerlo. Díganos qué sistema está ejecutando y por qué está interesado en una nueva versión.
vonbrand
La instalación específica de la versión con código fuente es muy diferente a la instalación con YUM o APT. Depende de la versión del sistema operativo y del número de dependencias que deben cumplirse para que la instalación se complete con éxito. He documentado la instalación de R 3.3.3 en SLES11 SP3 en hashprompt.blogspot.com/2017/06/… Espero que pueda ayudarlo a instalar en sistemas Linux.
Baban Gaigole

Respuestas:

43

La forma más fácil de hacer esto es instalar R desde la fuente :

$ wget http://cran.rstudio.com/src/base/R-3/R-3.4.1.tar.gz
$ tar xvf R-3.4.1.tar.gz
$ cd R-3.4.1
$ ./configure --prefix=$HOME/R
$ make && make install

El penúltimo paso es el crítico. Configura R para instalarse en un subdirectorio de su propio directorio de inicio.

Para ejecutarlo en Linux, macOS y sistemas similares, agréguelo $HOME/R/bina su PATH. Luego, los comandos de shell tienen gusto Ry Rscriptfuncionarán.

En macOS, tiene otra alternativa: compilarloR.app e instalarlo en la Applicationscarpeta privada de su usuario . Necesitas tener Xcode instalado para hacer esto.

Puede considerar dar en su --prefix=$HOMElugar. Eso instala R en el nivel superior de su directorio de inicio, de modo que los binarios Ry Rscriptterminan en $HOME/bin, lo que probablemente ya está en su usuario PATH. La desventaja es que dificulta la desinstalación posterior, ya que R estaría entremezclado con sus otros $HOMEcontenidos.

(Si esto es lo primero que ha instalado $HOME/bin, es posible que tenga que cerrar sesión y volver a iniciarla para obtener esto en su PATH, ya que a menudo se agrega condicionalmente solo si $HOME/binexiste en el momento de inicio de sesión).

Este patrón general se aplica a una gran cantidad de software Unix que puede instalar desde el código fuente. Si el software tiene un configurescript, probablemente comprende la --prefixopción, y si no, generalmente hay alguna alternativa con el mismo efecto.

Estas características son comunes por varias razones. En orden decreciente de probabilidad, en mi experiencia:

  • El valor predeterminado seguro ( /usr/local) no es el correcto $prefixen todas las situaciones. Circunstancias podrían dictar algo distinto, como /usr, /opt/$PKGNAME, etc.

  • Los sistemas de creación de paquetes binarios ( RPM , DEB , PKG , Cygport ...) generalmente compilan e instalan el paquete en un directorio de preparación especial, luego lo empaquetan de tal manera que se expanda en la ubicación de instalación deseada.

  • Su caso, donde no puede rootinstalar el software en una ubicación típica, por lo que debe instalarlo en su $HOMElugar.

Warren Young
fuente
1
Recomiendo ./configure --prefix=$HOME/R --enable-R-shlibasegurarse de compilar la biblioteca compartida R. De lo contrario, RStudio se quejará.
akhmed
No me ha funcionado. El guión finalizó conconfigure: error: --with-readline=yes (default) and headers/libs are not available make: *** No targets specified and no makefile found. Stop.
ApproachingDarknessFish el
@ApproachingDarknessFish: Eso no tiene nada que ver con esta pregunta o mi respuesta. Le faltan los requisitos previos necesarios para construir R en su sistema con las opciones elegidas. Específicamente aquí, te estás perdiendo las bibliotecas de desarrollo de readline. Si tiene más problemas, publique una nueva pregunta.
Warren Young
8

También puede usar la aplicación de envoltura Renv .

extracto

Gestión simple de la versión R: Renv

Renv le permite cambiar fácilmente entre múltiples versiones de R. Es simple, discreto y sigue la tradición de UNIX de herramientas de un solo propósito que hacen bien una cosa.

Renv hace ...

  • Le permite cambiar la versión global de R por usuario.
  • Proporcionar soporte para versiones R por proyecto.
  • Le permite anular la versión R con una variable de entorno.
slm
fuente
1

Construir desde la fuente con ./configure --prefix=/local/data/project/behi ; make ; make install

Si está instalando desde un paquete RPM y se creó reubicable, puede usar

rpm ... --prefix /local/data/project/behi

Pero no todos los paquetes están construidos con binarios reubicables, y no creo que los paquetes de Debian tengan esta opción (aunque podría tener éxito dpkg --instdir).

Dani_l
fuente