【发布时间】:2016-09-29 17:13:40
【问题描述】:
这是this question 的一个通用版本。如何设置R_LIBS_SITE?我无法在 CentOS 7.2 和 openSUSE 42.1 以及最新的 R 3.3.1 上获得正确的值。
在带有来自 EPEL 的 R 的 CentOS 7.2 (Linux x86_64) 上,我得到:
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
...
Platform: x86_64-redhat-linux-gnu (64-bit)
...
> .libPaths()
[1] "/usr/lib64/R/library" "/usr/share/R/library"
> .Library
[1] "/usr/lib64/R/library"
> .Library.site
[1] "/usr/lib64/R/library" "/usr/share/R/library"
> R.home(component = "home")
[1] "/usr/lib64/R"
但是,相应的 Renviron 包括以下内容:
$ grep R_LIBS_SITE /usr/lib64/R/etc/Renviron
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:/usr/local/lib/R/library:/usr/lib64/R/library:/usr/share/R/library'}
显然,当我启动 R 时,此设置未正确应用。但是,
例如,应用同一文件中 R_LIBS_USER 中的更改。此外,R_LIBS_SITE 不会被完全忽略,因为将其设置为
R_LIBS_SITE='/usr/local/lib/R/site-library'
生产
> .Library.site
character(0)
我看不出R_LIBS_SITE 可以在其他地方被覆盖。我明白了
当我启动它时,R 中的相同行为
R --no-environ --no-site-file --no-init-file
我可以用 openSUSE 重现类似的行为。
或者是否有其他推荐的方法来设置在所有用户之间共享的包站点?
【问题讨论】: