web-dev-qa-db-fra.com

Comment spécifier le répertoire lib lors de l'installation des packages de version de développement R à partir du référentiel github

Dans Ubuntu, j'installe tous les packages R dans le répertoire, /usr/lib/R/site-library En spécifiant l'option lib dans install.packages().

Mais lorsque j'essaie d'installer la version de développement des packages R à l'aide de install_github(), il s'installe toujours dans un référentiel local de l'utilisateur système.

.libPaths() possède 4 répertoires, dont le référentiel local. Donc, j'ai 2 questions,

  1. S'installe-t-il dans l'un des 3 autres référentiels si je supprime le référentiel local de .libPaths()?

  2. Existe-t-il un moyen de spécifier le chemin de la bibliothèque d'installation dans install_github()?

J'utilise Ubuntu 12.04 64bit Et R 3.0.1

----------------------METTRE À JOUR--------------------------- -----

  1. Impossible de supprimer le référentiel local de .libPaths()

  2. Si j'essaie d'installer en utilisant install_github() dans RStudio, il s'installe dans le local repository Puisque lib n'est pas spécifié.

  3. Si j'essaie d'installer en utilisant install_github() comme tilisateur non root, il s'installe dans le local repository Puisque lib n'est pas spécifié.

  4. Si j'essaie d'installer en utilisant install_github() comme tilisateur root, il s'installe dans le /usr/local/lib/R/site-library Puisque lib n'est pas spécifié.

Y en a-t-il pour spécifier installation lib?

28
Manoj G

Pour ajouter des chemins de bibliothèque spécifiés dans devtools, nous devons utiliser with_libpaths()

Les arguments pour with_libpaths() sont, with_libpaths(new, code)

Voici un exemple d'utilisation de with_libpaths(),

library(devtools)
with_libpaths(new = "/usr/lib/R/site-library/", install_github('rCharts', 'ramnathv'))

Courtoisie: Hadley, ici :)

Et à part with_libpaths(), il y a plus d'options pour dans devtools::with_something()

in_dir: working directory
with_collate: collation order
with_envvar: environmental variables
with_libpaths: library paths, replacing current libpaths
with_lib: library paths, prepending to current libpaths
with_locale: any locale setting
with_options: options
with_path: PATH environment variable
with_par: graphics parameters

Plus d'explications ici

42
Manoj G

install_github prend un ... argument qui passe à devtools::install. devtools::install a un argument args.

args
Un vecteur de caractères facultatif d'arguments de ligne de commande supplémentaires à passer à l'installation de R CMD. Cette valeur par défaut est la valeur de l'option "devtools.install.args".

R CMD install prend un argument de bibliothèque

 Options:
  -h, --help            print short help message and exit
  -v, --version         print INSTALL version info and exit
  -c, --clean           remove files created during installation
      --preclean        remove files created during a previous run
  -d, --debug           turn on debugging messages
                        and build a debug DLL
  -l, --library=LIB     install packages to library tree LIB

Donc, ce qui suit devrait fonctionner:

devtools::install_github("repo", args = c('--library="./mypath/gdfgdg/"'))

cependant, il ne semble pas remplacer l'appel à R CMD install

"C:/PROGRA~1/R/R-31~1.0/bin/x64/R" --Vanilla CMD INSTALL  \
  "C:\Users\john\AppData\Local\Temp\RtmpucrXMD/RSelenium_1.3.2.tar.gz"  \
  --library="C:/Users/john/Documents/R/win-library/3.1" --install-tests  \
  --library="C:/Users/john/Desktop/"
11
jdharrison

Il s'agit plus d'une solution de contournement, mais j'ai trouvé un moyen d'utiliser la version en ligne de commande de R.

À partir d'Ubuntu:

Sudo -i R

l'astuce (j'ai trouvé) est d'utiliser l'option -i

Puis à partir de R:

.libPaths()

mon répertoire R local n'apparaît pas; le répertoire par défaut est celui que je veux.

Ensuite, je install.packages() ou install_github() en toute impunité.

J'espère que cela t'aides,

Ian

2
Ian Lyttle