我刚开始使用Ubuntu并希望在R中编程。我从终端成功安装了最新版本的R(目前为2.12.2)。然后我尝试运行以下命令:
> install.packages("XML")
Installing package(s) into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning in install.packages("XML") :
'lib = "/usr/local/lib/R/site-library"' is not writable
Would you like to create a personal library
'~/R/i686-pc-linux-gnu-library/2.12'
to install packages into? (y/n)
我应该创建个人目录还是错过了允许我写入站点库的某个步骤。
提前致谢。
答案 0 :(得分:33)
sarnold
的评论非常正确。在Debian(以及Ubuntu)包中,目录/usr/local/lib/R/site-library/
由文件/var/lib/dpkg/info/r-base-core.postinst
脚本创建 - 相关代码为:
# edd 03 Apr 2003 cf Section 10.1.2 of Debian Policy
if [ ! -e /usr/local/lib/R ]; then
if mkdir /usr/local/lib/R 2>/dev/null; then
chown root:staff /usr/local/lib/R
chmod 2775 /usr/local/lib/R
fi
fi
if [ ! -e /usr/local/lib/R/site-library ]; then
if mkdir /usr/local/lib/R/site-library 2>/dev/null; then
chown root:staff /usr/local/lib/R/site-library
chmod 2775 /usr/local/lib/R/site-library
fi
fi
因此目录由root:staff
和模式2775拥有,或者'用户和组读写,其他只读'。
所以要写在那里,你有两个基本选择:
始终使用sudo
或成为笨拙的root
。
将您自己添加到论坛staff
。它可能有一个用户友好的GUI;我是Unix老派,通过编辑/etc/group
和/etc/gshadow
手动完成 - 之后你可以直接安装(你需要一个新的shell来拥有这些权利,或者只是启动一个新的终端)。您当然也可以选择一个不同的组,或者创建一个组,但是您还需要相应地更改/usr/local/lib/R/
中的目录树。
希望这会有所帮助。 r-sig-debian列表是这样的Debian / Ubuntu问题的友好地方,我推荐它。之前出现了这个问题。
编辑:此外,相当多(更复杂)的软件包是Ubuntu / Debian的一部分,因此要获得XML,您只需sudo apt-get install r-cran-xml
即可。执行apt-cache search r-cran
查看可用内容。
答案 1 :(得分:8)
最简单的选择是将自己添加到staff
用户组。跑吧:
sudo adduser <user> staff
将<user>
替换为您的用户名。
在Ubuntu 14.04中测试