Installiere R in meinem eigenen Verzeichnis

34

Wie kann ich eine neue Version von R in meinem eigenen Verzeichnis installieren, z /local/data/project/behi.

user3925736
quelle
1
Möglicherweise können Sie dies tun, indem Sie von der Quelle ausgehen. Aber wenn Sie fragen müssen, würden Sie das wahrscheinlich nicht tun. Bitte teilen Sie uns mit, auf welchem System Sie arbeiten und warum Sie an einer neuen Version interessiert sind.
Vonbrand
Die versionsspezifische Installation unter Verwendung des Quellcodes unterscheidet sich erheblich von der Installation unter Verwendung von YUM oder APT. Dies hängt von der Betriebssystemversion und der Anzahl der Abhängigkeiten ab, die erfüllt sein müssen, damit die Installation erfolgreich abgeschlossen werden kann. Ich habe die Installation von R 3.3.3 auf SLES11 SP3 in hashprompt.blogspot.com/2017/06/… dokumentiert. Ich hoffe, es kann Ihnen bei der Installation auf Linux-Systemen helfen.
Baban Gaigole

Antworten:

43

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/bines Ihrem hinzu PATH. Dann funktionieren Shell-Befehle wie Rund Rscript.

Unter macOS haben Sie eine andere Alternative: ErstellenR.app und installieren Sie sie im privaten ApplicationsOrdner Ihres Benutzers . Dazu muss Xcode installiert sein.

Sie könnten --prefix=$HOMEstattdessen darüber nachdenken, zu geben . Dadurch wird R auf der obersten Ebene Ihres Home-Verzeichnisses installiert, sodass die Binärdateien Rund in Rscriptenden $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 $HOMEInhalten vermischt .

(Wenn dies das erste ist, auf dem Sie installiert haben, $HOME/binmü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/bines 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 configureSkript hat, versteht sie wahrscheinlich die --prefixOption, 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 $prefixin allen Situationen die richtige . Die Umstände könnten etwas anderes wie diktieren /usr, /opt/$PKGNAMEetc.

  • 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 rootdie Software nicht an einem typischen Speicherort installieren können, also installieren Sie $HOMEstattdessen in.

Warren Young
quelle
1
Ich würde empfehlen ./configure --prefix=$HOME/R --enable-R-shlib, sicherzustellen, dass Sie R Shared Library kompilieren. Andernfalls wird sich RStudio beschweren.
Achmed
Hat mich nicht bearbeitet. Das Drehbuch endete mitconfigure: error: --with-readline=yes (default) and headers/libs are not available make: *** No targets specified and no makefile found. Stop.
ApproachingDarknessFish
@ApproachingDarknessFish: Das hat nichts mit dieser Frage oder meiner Antwort zu tun. Es fehlen die erforderlichen Voraussetzungen, um R mit den von Ihnen gewählten Optionen auf Ihrem System aufzubauen. Speziell hier fehlen die Readline-Entwicklungsbibliotheken. Wenn Sie weitere Probleme haben, stellen Sie eine neue Frage.
Warren Young
8

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.
slm
quelle
1

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

Dani_l
quelle