Подтвердить что ты не робот

Как указать каталог lib при установке версии разработки R Пакеты из репозитория github

В Ubuntu я устанавливаю все пакеты R в каталоге, /usr/lib/R/site-library, указав опцию lib в install.packages().

Но когда я пытаюсь установить версию разработки пакетов R, используя install_github(), она всегда устанавливается в локальном репозитории пользователя системы.

.libPaths() имеет 4 каталога, включая локальный репозиторий. Итак, у меня есть 2 вопроса,

  • Будет ли он установлен в любом из 3-х других хранилищ, если я удалю локальный репозиторий из .libPaths()?

  • Есть ли способ указать путь библиотеки установки в install_github()?

Я использую Ubuntu 12.04 64bit и R 3.0.1

---------------------- UPDATE ------------------------ --------

  • Невозможно удалить локальный репозиторий из .libPaths()

  • Если я пытаюсь установить с помощью install_github() в RStudio, он устанавливается в local repository, так как lib не указан.

  • Если я пытаюсь установить с помощью install_github() в качестве пользователя без полномочий root, он устанавливается в local repository, так как lib не указан.

  • Если я пытаюсь установить с помощью install_github() в качестве пользователя root, он устанавливается в /usr/local/lib/R/site-library, поскольку lib не указан.

Можно ли указать installation lib?

4b9b3361

Ответ 1

Чтобы добавить указанные пути библиотеки в devtools, нам нужно использовать with_libpaths()

Аргументы для with_libpaths(): with_libpaths(new, code)

Ниже приведен пример использования with_libpaths(),

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

Предоставлено: Hadley, здесь:)

И кроме with_libpaths(), в 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

Дополнительные пояснения здесь

Ответ 2

install_github принимает аргумент ..., который переходит на devtools::install. devtools::install имеет аргумент args.

арг
Необязательный вектор символов дополнительных аргументов командной строки, которые необходимо передать в R CMD install. По умолчанию используется значение параметра "devtools.install.args".

R CMD install принимает аргумент библиотеки

 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

Так должно работать следующее:

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

однако он не заменяет вызов на 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/"

Ответ 3

Это скорее обходной путь, но я нашел способ использовать версию командной строки R.

Начиная с Ubuntu:

sudo -i R

трюк (я нашел) заключается в использовании опции -i

Тогда из R:

.libPaths()

мой локальный каталог R не отображается; каталог по умолчанию - это тот, который я хочу.

Тогда я install.packages() или install_github() с безнаказанностью.

Надеюсь, что это поможет,

Ян