在Ubuntu中,我通过在/usr/lib/R/site-library
中指定lib
选项来安装目录install.packages()
中的所有R包。
但是当我尝试使用install_github()
安装R软件包的开发版本时,它总是安装在系统用户的本地存储库中。
.libPaths()
有4个目录,包括本地存储库。所以,我有2个问题,
如果我从.libPaths()
删除本地存储库,它会安装在任何其他3个存储库中吗?
有没有办法在install_github()
中指定安装库路径?
我正在使用Ubuntu 12.04 64bit
和R 3.0.1
---------------------- UPDATE ------------------------ --------
无法从.libPaths()
如果我尝试使用 RStudio 中的install_github()
进行安装,则会安装在local repository
中,因为未指定lib
。
如果我尝试使用install_github()
作为非root用户进行安装,则会安装在local repository
中,因为未指定lib
。< / p>
如果我尝试使用install_github()
作为 root用户进行安装,则会安装在/usr/local/lib/R/site-library
中,因为未指定lib
。
是否要指定installation lib
?
答案 0 :(得分:41)
要在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'))
礼貌:哈德利,here:)
除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
更多解释here
答案 1 :(得分:11)
install_github
会将...
参数传递给devtools::install
。 devtools::install
有args
个参数。
ARGS
要传递给R CMD安装的其他命令行参数的可选字符向量。这默认为选项&#34; devtools.install.args&#34;的值。
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/"
答案 2 :(得分:2)
这是一种解决方法,但我找到了使用命令行版本R的方法。
从Ubuntu开始:
sudo -i R
技巧(我发现)是使用-i
选项
然后从R:
.libPaths()
我的本地R目录没有出现;默认目录是我想要的目录。
然后,我install.packages()
或install_github()
而不受惩罚。
希望这有帮助,
伊恩