La migration des R bibliothèques
J'aimerais déplacer plusieurs R bibliothèques (*) à partir d'un disque à l'autre, sur Linux, et je voudrais savoir si un mouvement simple est faisable et sans danger, ou si je dois désinstaller et réinstaller les paquets. Je me rends compte que les emplacements des bibliothèques sont identifiés au moyen d' .libPaths()
et ont regardé à travers les "R d'Installation et d'Administration" manuel pour en savoir plus sur la migration des bibliothèques, mais de ne pas voir un processus recommandé.
Je perçois trois options:
- Exécuter
remove.packages()
pour tous les non-paquets de base, et de l'installer à nouveau viainstall.packages(lib = "/path/to/new/location")
. - Déplacer les bibliothèques (répertoires) à l'aide de
mv
et utiliser des liens symboliques pour pointer vers le nouvel emplacement (et éventuellement supprimer le lien symbolique) - Utiliser le
mv
de commande sous Linux pour déplacer les répertoires de gros et de mise à jour.Library.site
dansR_HOME/etc/Rprofile.site
, comme le suggère le R d'Installation et manuel d'Administration
Option #1 est émoussé. Option #2 devrait fonctionner, mais semble un peu malsain.
#3-fort ou il y a de sérieux problèmes avec elle? Les problèmes que j'ai identifiés sont les suivants: autorisations de répertoire et de la possibilité que n'importe quel package du programme d'installation de magasins de chemins absolus plutôt que des chemins relatifs (ce qui semble malsain et inutile).
Ce qui concerne le stockage des chemins absolus, j'ai trouvé que rJava
l'emplacement des magasins de R_HOME
dans un fichier appelé run
. Ce n'est pas une bibliothèque problème soi, mais c'est une indication d'un paquet (et un bon paquet à l') garder une copie privée d'un chemin d'accès absolu.
(*) Il y a plusieurs bibliothèques et de nombreux paquets. Naturellement, juste les bibliothèques (répertoires) sont déplacés, mais les paquets pourraient être touchés.
Mise à JOUR de 1 /Précisions: Juste pour clarifier: je suis seulement la migration des bibliothèques, de ne pas changer la version de R ou les versions des paquets. La mise à jour de R ou les paquets peuvent être prises séparément, mais la question est simplement de savoir si ou de ne pas déménager les bibliothèques est faisable. Il semble que, s'il est nécessaire de mettre à jour ou réinstaller tous les paquets afin d'être sûr que les choses sont installés correctement, alors que c'est un chemin plus proche de l'option n ° 1 que l'option #3.
Mise à JOUR 2: Réponses à une autre SORTE de post avez quelques bonnes idées sur la façon d'éviter ce problème lors de la mise à niveau. Je ne suis pas la mise à niveau de R, mais Dirk Eddelbuettel la suggestion de ne pas installer les paquets dans le filetree de R est sage.
- Vous ne savez pas exactement ce que vous essayez de faire, mais vous voudrez peut-être regarder dans le this question et qui y sont liées.
- +1 pour connaître la différence entre une bibliothèque et un paquet 🙂
- J'espère que j'ai corrigé toutes les erreurs de ce type. Je ne veux pas me brutalisés pour un problème terminologique. 🙂
- la portabilité est une autre question, mais, si rien d'autre, la discussion de la portabilité & un complètement autonome de l'installation m'a fait réaliser que je dois conserver toutes les sources de paquets. Que serait la rendre insignifiante pour être sûr que les versions sont les mêmes si j'ai désinstaller et réinstaller.
Vous devez vous connecter pour publier un commentaire.
Option #3 (copie d'une ancienne bibliothèque, à la nouvelle bibliothèque) devrait fonctionner ... mais si et seulement si vous exécutez ensuite:
De cette manière les paquets qui ont besoin d'être reconstruit pour les nouvelles versions seront mis à jour. C'est souvent le cas que les nouvelles versions ajouter des obligations (telles que la nécessité imminente dans 2.14.x pour les espaces de noms).
Edit: à Voir c'est juste déplacer autour de l'utilisation des chaises longues .... Je vais revenir d'endosser #3 si vous déplacez l'un de la base de R installation. Il a travaillé pour moi dans un Mac, mais je n'ai pas vu une promesse dans la R d'Installation et Guide d'Administration ou la R de la FAQ qu'il devrait travail. Vous pouvez accomplir #1 (qui est probablement la plus sûre dans des conditions différentes) par cette séquence:
Avec un fraîchement installé la version de R avec le .Libpaths définir vos préférences (ou même l'ancienne installation):
Simplement déplacer les paquets d'une nouvelle bibliothèque si la R exécutables n'a pas été modifié pourrait réussir (en supposant que vous modifiez également l' .Libpaths) mais je n'ai pas d'installation de Linux pour tester ou de savoir comment les pointeurs définis par configurer les opérations seraient touchés.