Как указать каталог 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
----------------------ОБНОВИТЬ--------------------------- -----
Невозможно удалить локальный репозиторий из
.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
?
3 ответа
Чтобы добавить указанные пути к библиотекам в 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'))
Предоставлено Хэдли, здесь:)
И кроме 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
Больше объяснений здесь
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/"
Это скорее обходной путь, но я нашел способ, используя версию R. командной строки
Начиная с Ubuntu:
sudo -i R
хитрость (я обнаружил) заключается в использовании -i
вариант
Тогда из R:
.libPaths()
мой локальный каталог R не появляется; каталог по умолчанию это тот, который я хочу.
Затем я install.packages()
или же install_github()
безнаказанно.
Надеюсь это поможет,
Ян