Installa R nella mia directory


34

Come posso installare una nuova versione di R nella mia directory, ad es /local/data/project/behi.


1
Potresti riuscire a farlo partendo dalla fonte; ma se devi chiedere, immagino che non lo farai. Comunicaci quale sistema stai utilizzando e perché sei interessato a una nuova versione.
vonbrand,

L'installazione specifica della versione che utilizza il codice sorgente è molto diversa dall'installazione che utilizza YUM o APT. Dipende dalla versione del sistema operativo e dal numero di dipendenze che devono essere soddisfatte per il completamento dell'installazione. Ho documentato l'installazione di R 3.3.3 su SLES11 SP3 in hashprompt.blogspot.com/2017/06/… Spero che possa esserti utile per l'installazione su sistemi Linux.
Baban Gaigole il

Risposte:


43

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/binal tuo PATH. Quindi, i comandi della shell gradiranno Re Rscriptfunzioneranno.

Su macOS, hai un'altra alternativa: compilalaR.app e installala nella Applicationscartella privata del tuo utente . È necessario avere Xcode installato per fare questo.

Potresti considerare di dare --prefix=$HOMEinvece. Questo installa R al livello più alto della tua home directory, in modo che i binari Re Rscriptfiniscano $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 $HOMEcontenuti.

(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/binesiste 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 configurescript, probabilmente comprende l' --prefixopzione 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 $prefixin tutte le situazioni. Le circostanze potrebbero dettare qualcosa di diverso, come /usr, /opt/$PKGNAMEecc

  • 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 roota installare il software in una posizione tipica, quindi esegui $HOMEinvece l' installazione .


1
Consiglierei ./configure --prefix=$HOME/R --enable-R-shlibdi compilare la libreria condivisa R. Altrimenti, RStudio si lamenterà.
akhmed,

Non mi ha funzionato. La sceneggiatura è terminata conconfigure: error: --with-readline=yes (default) and headers/libs are not available make: *** No targets specified and no makefile found. Stop.
ApproachingDarknessFish

@ApproachingDarknessFish: non ha nulla a che fare con questa domanda o la mia risposta. Ti mancano i prerequisiti necessari per costruire R sul tuo sistema con le opzioni scelte. In particolare qui, ti mancano le librerie di sviluppo readline. Se hai più problemi, pubblica una nuova domanda.
Warren Young,

8

È 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.

1

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).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.