【发布时间】:2011-03-30 01:49:46
【问题描述】:
我在~/R/i486-pc-linux-gnu-library/2.11 下安装了一些 R 包。
我想让它们以及我从现在开始安装的任何其他 R 包可供所有 R 用户使用。我不介意在中立的地方重新安装我已经拥有的软件包(它们只是几个)。那我该怎么做呢?
【问题讨论】:
标签: r installation packages
我在~/R/i486-pc-linux-gnu-library/2.11 下安装了一些 R 包。
我想让它们以及我从现在开始安装的任何其他 R 包可供所有 R 用户使用。我不介意在中立的地方重新安装我已经拥有的软件包(它们只是几个)。那我该怎么做呢?
【问题讨论】:
标签: r installation packages
aL3xa 给了(恕我直言)不好的建议。不要乱用包管理系统处理的/usr。相反,请使用/usr/local/lib/R/site-library 提供的工具。
默认情况下已经搜索了后一个目录。您需要做的就是将自己添加到组staff,因为该组在那里有写权限——尝试adduser yourid staff,其中yourid 是您在系统上的用户名。之后你应该可以毫无问题地在那里安装。
在 Ubuntu 上您可能喜欢的另一件事是 apt-get install littler,然后使用示例目录中的 install.r 和 upgrade.r 帮助脚本。我一直在使用它们。
【讨论】:
/usre/local... 是一个错字吗?
staff 组是您的另一个产品(因为您维护 Debian/Ubuntu 软件包)?它只在那些包上可用?如果是这样,我将迁移回 Ubuntu……也许吧! =)
staff 组后,您需要注销并重新登录以使其生效(因此是 David B 的错误)。但是如何告诉 R 安装在/usr/local/... 中?我找到了一种方法:install.packages('foo', '/usr/local/lib/R/site-library').
aL3xa 答案错误;您不应该公开这些目录来为所有用户编写。
以 root 身份运行 R(可能使用sudo R),然后像往常一样安装软件包——它们将被放置在一个全局库中,并且可供所有用户使用。
【讨论】:
staff 组,您不需要sudo 以root 身份运行。
在您的情况下,最简单的方法是以 root 身份安装软件包(或者在 Windows 的情况下以管理员身份安装),它们将可供该计算机上的每个用户使用。
【讨论】: