我在运行Linux Mint 17.1 Rebecca(64位)的PC上安装了R 3.3。大多数情况下,我使用普通用户帐户' andrew',但有时我必须在仅通过VPN提供的机密数据文件上使用它,我必须以root身份启动R才能实现工作
这样可以正常工作,除非直到今天我尝试在root上使用来自R的软件包ggplot2并且库(ggplot2)命令告诉我它没有安装,即使它是在这台PC上为安德鲁帐户安装的。
所以我尝试从root帐户安装ggplot2,但是其中一个依赖项失败了。我可以尝试排除故障,但上次我这样做是一个漫长而痛苦的过程。我应该能够使用已经为' andrew'。
安装的版本在root和andrew上执行命令库(),我看到ggplot2安装在库中
/home/andrew/R/x86_64-pc-linux-gnu-library/3.3
列为可用于安德鲁但不适用于root。
我想做一些使该库也可用于root的操作。当我搜索有关这方面的建议时,他们建议更改主目录中的.Renviron或.Rprofile文件,我相信在此安装下是/ root。但是,该目录下的任何位置都不存在该名称的文件。它们也不存在于我在VPN上使用的工作目录中。
有人可以建议如何让库可供root使用吗?
谢谢
安德鲁
答案 0 :(得分:5)
这是我非常坚信的东西,甚至试图设置Debian和Ubuntu软件包(尽管它目前还没有激活)。
关键是你的库路径的价值,即做
.libPaths()
在你的盒子上,你可能会看到$HOME
下面的可怕目录作为第一个点。并且除非你说否则安装将转到第一个位置,隐藏其他用户的“你的”包。
现在,你可以做两件事:
install.packages()
我通常在工作的机器上选择选项2。以下是${R_HOME}/etc/Renviron
中的内容(仍然显示我在十三年(!!)年前添加到R包中的评论):
#R_LIBS_USER=${R_LIBS_USER-'~/R/x86_64-pc-linux-gnu-library/3.3'}
#R_LIBS_USER=${R_LIBS_USER-'~/Library/R/3.3/library'}
# edd Apr 2003 Allow local install in /usr/local, also add a directory for
# Debian packaged CRAN packages, and finally the default dir
# edd Jul 2007 Now use R_LIBS_SITE, not R_LIBS
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:/usr/lib/R/site-library:/usr/lib/R/library'}
您看到R_LIBS_USER
已注释掉,R_LIBS_SITE
默认为/usr/local
下方的标准位置。
然后:
R> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library" "/usr/lib/R/library"
R>
和包进入所有用户可见的目录(我们使该目录可以为适当的用户进行组写)。