在Debian / Ubuntu中安装R Package XML

时间:2011-04-06 00:21:02

标签: r ubuntu

我刚开始使用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) 

我应该创建个人目录还是错过了允许我写入站点库的某个步骤。

提前致谢。

2 个答案:

答案 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拥有,或者'用户和组读写,其他只读'。

所以要写在那里,你有两个基本选择:

  1. 始终使用sudo或成为笨拙的root

  2. 将您自己添加到论坛staff。它可能有一个用户友好的GUI;我是Unix老派,通过编辑/etc/group/etc/gshadow手动完成 - 之后你可以直接安装(你需要一个新的shell来拥有这些权利,或者只是启动一个新的终端)。您当然也可以选择一个不同的组,或者创建一个组,但是您还需要相应地更改/usr/local/lib/R/中的目录树。

  3. 希望这会有所帮助。 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中测试