Installer R dans mon propre répertoire

34

Comment puis-je installer une nouvelle version de R dans mon propre répertoire, par exemple /local/data/project/behi.

utilisateur3925736
la source
1
Vous pourrez peut-être le faire en partant de la source. mais si vous devez demander, je suppose que vous n'êtes pas prêt à le faire. Dites-nous quel système vous utilisez et pourquoi vous êtes intéressé par une nouvelle version.
vonbrand
L'installation spécifique à la version utilisant le code source est très différente de l'installation utilisant YUM ou APT. Cela dépend de la version du système d'exploitation et du nombre de dépendances à respecter pour que l'installation se termine correctement. J'ai documenté l'installation de la version 3.3.3 sur SLES11 SP3 dans hashprompt.blogspot.com/2017/06/… J'espère que cela vous aidera à installer sur des systèmes Linux.
Baban Gaigole

Réponses:

43

Pour ce faire, le moyen le plus simple consiste à installer R à partir du code source :

$ 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

L'avant-dernière étape est la plus critique. Il configure R pour être installé dans un sous-répertoire de votre propre répertoire personnel.

Pour l’exécuter sur Linux, MacOS et des systèmes similaires, ajoutez-le $HOME/R/binà votre PATH. Ensuite, les commandes shell aiment Ret Rscriptvont fonctionner.

Sur macOS, vous avez une autre alternative: construisezR.app et installez-le dans le Applicationsdossier privé de votre utilisateur . Pour ce faire, vous devez installer Xcode.

Vous pourriez envisager de donner à la --prefix=$HOMEplace. Cela installe R au niveau supérieur de votre répertoire de base, de sorte que les fichiers binaires Ret Rscriptfinissent dans $HOME/bin, ce qui est probablement déjà dans votre utilisateur PATH. L'inconvénient est que cela rend plus difficile la désinstallation ultérieure, car R serait mêlé à vos autres $HOMEcontenus.

(S'il s'agit de la première chose que vous avez installée sur $HOME/bin, vous devrez peut-être vous déconnecter puis vous reconnecter pour l'insérer dans votre ordinateur PATH, car il est souvent ajouté de manière conditionnelle que s'il $HOME/binexiste au moment de la connexion.)

Ce modèle général s’applique à un grand nombre de logiciels Unix que vous pouvez installer à partir du code source. Si le logiciel a un configurescript, il comprend probablement l' --prefixoption, sinon, il existe généralement une alternative ayant le même effet.

Ces fonctionnalités sont communes pour un certain nombre de raisons. Par ordre de probabilité décroissant, selon mon expérience:

  • Le coffre-fort default ( /usr/local) n'est pas le droit $prefixdans toutes les situations. Les circonstances pourraient dicter autre chose par exemple /usr, /opt/$PKGNAMEetc.

  • Les systèmes de construction de paquets binaires ( RPM , DEB , PKG , Cygport , etc. ) construisent et installent généralement le paquet dans un répertoire de transfert spécial, puis le pack de manière à ce qu'il soit étendu à l'emplacement d'installation souhaité.

  • Votre cas, où vous ne pouvez pas rootinstaller le logiciel dans un emplacement typique, vous devez donc l’installer à la $HOMEplace.

Warren Young
la source
1
Je vous recommande ./configure --prefix=$HOME/R --enable-R-shlibde vous assurer de compiler la bibliothèque partagée R. Sinon, RStudio se plaindra.
akhmed
Ne m'a pas travaillé. Le script s'est terminé avecconfigure: error: --with-readline=yes (default) and headers/libs are not available make: *** No targets specified and no makefile found. Stop.
ApproachingDarknessFish
@ApproachingDarknessFish: Cela n'a rien à voir avec cette question ni avec ma réponse. Vous manquez les conditions préalables nécessaires à la construction de R sur votre système avec les options que vous avez choisies. Plus précisément ici, vous manquez les bibliothèques de développement readline. Si vous avez plus de problèmes, posez une nouvelle question.
Warren Young
8

Vous pouvez également utiliser l'application wrapper Renv .

extrait

Gestion de version simple: Renv

Renv vous permet de basculer facilement entre plusieurs versions de R. Il s’agit d’une solution simple, discrète et conforme à la tradition UNIX d’outils à usage unique qui font bien les choses.

Renv fait…

  • Vous permet de modifier la version globale R pour chaque utilisateur.
  • Fournir un support pour les versions R par projet.
  • Vous permet de remplacer la version R par une variable d’environnement.
slm
la source
1

Construire à partir de la source avec ./configure --prefix=/local/data/project/behi ; make ; make install

Si vous installez depuis un paquet RPM et que celui-ci a été créé, vous pouvez utiliser

rpm ... --prefix /local/data/project/behi

Mais tous les paquets ne sont pas construits avec des binaires déplaçables, et je ne pense pas que les paquets debian aient cette option (bien que vous puissiez réussir dpkg --instdir).

Dani_l
la source