Wie kann ich eine neue Version von R in meinem eigenen Verzeichnis installieren, z /local/data/project/behi
.
software-installation
not-root-user
user3925736
quelle
quelle
Antworten:
Der einfachste Weg, dies zu tun, besteht darin, R von der Quelle zu installieren :
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 hinzuPATH
. Dann funktionieren Shell-Befehle wieR
undRscript
.Unter macOS haben Sie eine andere Alternative: Erstellen
R.app
und installieren Sie sie im privatenApplications
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ärdateienR
und inRscript
enden$HOME/bin
, was wahrscheinlich bereits in Ihrem Benutzer istPATH
. 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 erhaltenPATH
, 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.quelle
./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
quelle
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
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
).quelle