如何设置R_LIBS_站点或如何共享包站点?

如何设置R_LIBS_站点或如何共享包站点?,r,packages,R,Packages,这是一个有点泛化的版本。如何设置R_LIBS_站点?我无法在CentOS 7.2和openSUSE 42.1以及最新的R3.3.1上获得正确的值 在CentOS 7.2 Linux x86_64上,我从EPEL获得R: 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/lib

这是一个有点泛化的版本。如何设置R_LIBS_站点?我无法在CentOS 7.2和openSUSE 42.1以及最新的R3.3.1上获得正确的值

在CentOS 7.2 Linux x86_64上,我从EPEL获得R:

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_站点并没有被完全忽略,因为将其设置为

R_LIBS_SITE='/usr/local/lib/R/site-library'
产生

> .Library.site
character(0)
我不认为在其他地方可以覆盖R_LIBS_站点。我明白了 在R中,当我开始使用

R --no-environ --no-site-file --no-init-file
我可以用openSUSE重现类似的行为


或者,是否有其他建议的方法来设置在所有用户之间共享的软件包站点?

问题的可能解释是某些目录不存在。不存在的目录将以静默方式从列表中删除。所以,如果你

R_LIBS_SITE='/usr/local/lib/R/SITE library'


并且目录不存在,.Library.site将是一个空字符串,如示例中所示。按照示例中的输出,如果目录/usr/local/lib/R/site library和/usr/local/lib/R/library不存在,它们将从Renviron文件的R\u LIBS\u站点中给出的列表中自动删除,就像在输出中一样。

问题的可能解释是某些目录不存在。不存在的目录将以静默方式从列表中删除。所以,如果你

R_LIBS_SITE='/usr/local/lib/R/SITE library'

并且目录不存在,.Library.site将是一个空字符串,如示例中所示。按照示例的输出,如果/usr/local/lib/R/site library和/usr/local/lib/R/library目录不存在,它们将从Renviron文件的R_LIBS_site中给出的列表中自动删除,就像输出中一样