【问题标题】:Installing R packages available for all users安装适用于所有用户的 R 包
【发布时间】:2011-03-30 01:49:46
【问题描述】:

我在~/R/i486-pc-linux-gnu-library/2.11 下安装了一些 R 包。

我想让它们以及我从现在开始安装的任何其他 R 包可供所有 R 用户使用。我不介意在中立的地方重新安装我已经拥有的软件包(它们只是几个)。那我该怎么做呢?

【问题讨论】:

    标签: r installation packages


    【解决方案1】:

    aL3xa 给了(恕我直言)不好的建议。不要乱用包管理系统处理的/usr。相反,请使用/usr/local/lib/R/site-library 提供的工具。

    默认情况下已经搜索了后一个目录。您需要做的就是将自己添加到组staff,因为该组在那里有写权限——尝试adduser yourid staff,其中yourid 是您在系统上的用户名。之后你应该可以毫无问题地在那里安装。

    在 Ubuntu 上您可能喜欢的另一件事是 apt-get install littler,然后使用示例目录中的 install.rupgrade.r 帮助脚本。我一直在使用它们。

    【讨论】:

    • 简洁,绝对是一个更好的解决方案,尽管您已经宣传了您的产品... =) /usre/local... 是一个错字吗?
    • 好吧,我的广告预算很小 :) 错字已修复——谢谢。
    • 还有一个问题:staff 组是您的另一个产品(因为您维护 Debian/Ubuntu 软件包)?它只在那些包上可用?如果是这样,我将迁移回 Ubuntu……也许吧! =)
    • 那么我该如何设置 aL3xa 建议的权限(我已经运行了循环)
    • 这个答案很有帮助,但缺少一些细节。将自己添加到staff 组后,您需要注销并重新登录以使其生效(因此是 David B 的错误)。但是如何告诉 R 安装在/usr/local/... 中?我找到了一种方法:install.packages('foo', '/usr/local/lib/R/site-library').
    【解决方案2】:

    aL3xa 答案错误;您不应该公开这些目录来为所有用户编写。
    以 root 身份运行 R(可能使用sudo R),然后像往常一样安装软件包——它们将被放置在一个全局库中,并且可供所有用户使用。

    【讨论】:

    • 或者像我写的那样将自己添加到staff 组,您不需要sudo 以root 身份运行。
    • 维护问题:如果您在另一个用户加载了包的同时更新包会发生什么?
    【解决方案3】:

    在您的情况下,最简单的方法是以 root 身份安装软件包(或者在 Windows 的情况下以管理员身份安装),它们将可供该计算机上的每个用户使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-07
      • 1970-01-01
      • 2013-11-05
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 1970-01-01
      相关资源
      最近更新 更多