Как указать каталог 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
?
Ответы
Ответ 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()
с безнаказанностью.
Надеюсь, что это поможет,
Ян