Wie kann ich eine neue Version von R in meinem eigenen Verzeichnis installieren, z /local/data/project/behi
.
Wie kann ich eine neue Version von R in meinem eigenen Verzeichnis installieren, z /local/data/project/behi
.
Antworten:
Der einfachste Weg, dies zu tun, besteht darin, R von der Quelle zu installieren :
$ 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
Der vorletzte Schritt ist der kritische. Es konfiguriert R so, dass es in einem Unterverzeichnis Ihres eigenen Home-Verzeichnisses installiert wird.
Um es unter Linux, MacOS und ähnlichen Systemen auszuführen, fügen Sie $HOME/R/bin
es Ihrem hinzu PATH
. Dann funktionieren Shell-Befehle wie R
und Rscript
.
Unter macOS haben Sie eine andere Alternative: ErstellenR.app
und installieren Sie sie im privaten Applications
Ordner Ihres Benutzers . Dazu muss Xcode installiert sein.
Sie könnten --prefix=$HOME
stattdessen darüber nachdenken, zu geben . Dadurch wird R auf der obersten Ebene Ihres Home-Verzeichnisses installiert, sodass die Binärdateien R
und in Rscript
enden $HOME/bin
, was wahrscheinlich bereits in Ihrem Benutzer ist PATH
. Der Nachteil ist, dass eine spätere Deinstallation erschwert wird, da sich R mit Ihren anderen $HOME
Inhalten vermischt .
(Wenn dies das erste ist, auf dem Sie installiert haben, $HOME/bin
müssen Sie sich möglicherweise ab- und wieder anmelden, um dies in Ihrem zu erhalten PATH
, da es häufig nur bedingt hinzugefügt wird, wenn $HOME/bin
es zum Zeitpunkt der Anmeldung vorhanden ist.)
Dieses allgemeine Muster gilt für eine große Menge von Unix-Software, die Sie aus dem Quellcode installieren können. Wenn die Software ein configure
Skript hat, versteht sie wahrscheinlich die --prefix
Option, und wenn nicht, gibt es normalerweise eine Alternative mit dem gleichen Effekt.
Diese Funktionen sind aus mehreren Gründen üblich. In abnehmender Reihenfolge der Wahrscheinlichkeit, nach meiner Erfahrung:
Die sichere Standardeinstellung ( /usr/local
) ist nicht $prefix
in allen Situationen die richtige . Die Umstände könnten etwas anderes wie diktieren /usr
, /opt/$PKGNAME
etc.
Bei binären Paketerstellungssystemen ( RPM , DEB , PKG , Cygport ...) wird das Paket normalerweise erstellt und in einem speziellen Staging-Verzeichnis installiert. Anschließend wird das Paket so gepackt , dass es an den gewünschten Installationsort erweitert wird.
Ihr Fall, in dem Sie root
die Software nicht an einem typischen Speicherort installieren können, also installieren Sie $HOME
stattdessen in.
./configure --prefix=$HOME/R --enable-R-shlib
, sicherzustellen, dass Sie R Shared Library kompilieren. Andernfalls wird sich RStudio beschweren.
configure: error: --with-readline=yes (default) and headers/libs are not available make: *** No targets specified and no makefile found. Stop.
Sie können auch die Wrapper-Anwendung Renv verwenden .
Auszug
Einfaches R-Versionsmanagement: Renv
Mit Renv können Sie problemlos zwischen mehreren Versionen von R wechseln. Es ist einfach, unauffällig und folgt der UNIX-Tradition von Einzweck-Tools, die eine Sache gut machen.
Renv macht ...
- Sie können die globale R-Version auf Benutzerbasis ändern.
- Bieten Sie Unterstützung für R-Versionen pro Projekt.
- Ermöglicht das Überschreiben der R-Version mit einer Umgebungsvariablen.
Erstellen Sie von der Quelle mit ./configure --prefix=/local/data/project/behi ; make ; make install
Wenn Sie von einem RPM-Paket installieren und es wurde verlagerbar erstellt, können Sie verwenden
rpm ... --prefix /local/data/project/behi
Aber nicht alle Pakete sind mit verschiebbaren Binärdateien erstellt, und ich glaube nicht, dass Debian-Pakete diese Option haben (obwohl Sie damit erfolgreich sein könnten dpkg --instdir
).