Come posso installare una nuova versione di R nella mia directory, ad es /local/data/project/behi
.
Come posso installare una nuova versione di R nella mia directory, ad es /local/data/project/behi
.
Risposte:
Il modo più semplice per farlo è installare R dall'origine :
$ 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
Il penultimo passo è quello critico. Configura R per l'installazione in una sottodirectory della propria directory home.
Per eseguirlo su Linux, macOS e sistemi simili, aggiungi $HOME/R/bin
al tuo PATH
. Quindi, i comandi della shell gradiranno R
e Rscript
funzioneranno.
Su macOS, hai un'altra alternativa: compilalaR.app
e installala nella Applications
cartella privata del tuo utente . È necessario avere Xcode installato per fare questo.
Potresti considerare di dare --prefix=$HOME
invece. Questo installa R al livello più alto della tua home directory, in modo che i binari R
e Rscript
finiscano $HOME/bin
, che è probabilmente già nel tuo utente PATH
. Il rovescio della medaglia è che rende più difficile la successiva disinstallazione, poiché R si mescolerebbe tra gli altri $HOME
contenuti.
(Se questa è la prima cosa su cui hai installato $HOME/bin
, potresti dover disconnetterti e riconnetterti per ottenerlo nel tuo PATH
, poiché spesso viene aggiunto in modo condizionale solo se $HOME/bin
esiste al momento dell'accesso.)
Questo schema generale si applica a una grande quantità di software Unix che è possibile installare dal codice sorgente. Se il software ha uno configure
script, probabilmente comprende l' --prefix
opzione e, in caso contrario, di solito esiste un'alternativa con lo stesso effetto.
Queste funzionalità sono comuni per una serie di motivi. In ordine decrescente di probabilità, nella mia esperienza:
Il default sicuro ( /usr/local
) non è giusto $prefix
in tutte le situazioni. Le circostanze potrebbero dettare qualcosa di diverso, come /usr
, /opt/$PKGNAME
ecc
I sistemi di creazione di pacchetti binari ( RPM , DEB , PKG , Cygport ...) in genere creano e installano il pacchetto in una directory di gestione temporanea speciale, quindi impacchettalo in modo tale che si espanda nella posizione di installazione desiderata.
Il tuo caso, in cui non riesci root
a installare il software in una posizione tipica, quindi esegui $HOME
invece l' installazione .
./configure --prefix=$HOME/R --enable-R-shlib
di compilare la libreria condivisa R. Altrimenti, RStudio si lamenterà.
configure: error: --with-readline=yes (default) and headers/libs are not available make: *** No targets specified and no makefile found. Stop.
È inoltre possibile utilizzare l'applicazione wrapper Renv .
estratto
Gestione versione R semplice: Renv
Renv ti consente di passare facilmente tra più versioni di R. È semplice, discreto e segue la tradizione UNIX di strumenti monouso che fanno bene una cosa.
Renv fa ...
- Consente di modificare la versione R globale in base all'utente.
- Fornire supporto per le versioni R per progetto.
- Consentire di sostituire la versione R con una variabile di ambiente.
Costruisci dalla fonte con ./configure --prefix=/local/data/project/behi ; make ; make install
Se stai installando da un pacchetto RPM ed è stato creato trasferibile, puoi usarlo
rpm ... --prefix /local/data/project/behi
Ma non tutti i pacchetti sono compilati con binari rilocabili e non credo che i pacchetti debian abbiano questa opzione (anche se potresti avere successo dpkg --instdir
).