【问题标题】:installing R packages on ubuntu 8.10在 ubuntu 8.10 上安装 R 包
【发布时间】:2010-02-11 00:16:58
【问题描述】:

前言:我是一个os x用户来linux,所以请提前原谅我的无知

我已经使用 synaptic 安装了 R,现在我正在尝试安装软件包。

我打开 R 然后尝试

install.packages("some_package")

系统尝试默认为/site-library,然后告诉我它不可写,然后询问是否制作个人库?

我应该让站点库可写吗?或者还有什么其他的?

【问题讨论】:

    标签: r


    【解决方案1】:

    目录/usr/share/local/lib/R是默认位置;该目录默认拥有所有权root:staff。如果您将自己添加到组staff(最简单:通过编辑/etc/group/etc/gshadow),您可以在那里写,并且您不需要sudo 安装软件包的权力。我就是这么做的。

    或者,执行apt-get install littler 并将示例文件/usr/share/doc/littler/examples/install.r 复制到/usr/local/binchmod 755 它。你可以直接sudo install.r lattice ggplot2 举两个流行的例子。

    顺便说一句,Ubuntu 8.1 不作为一个版本存在。也许你的意思是 8.10?考虑升级到 9.10 ...

    编辑:也可以看看this recent SO question

    【讨论】:

    • 绝对意味着 8.10,虽然我现在根据另一位朋友的建议将其升级到 9.10。感谢您的提示,我会试一试,谢谢
    • 将用户添加到组的更简单方法:adduser dan staff
    • 最后一次检查,这是将自己添加到团队工作人员cyberciti.biz/faq/howto-linux-add-user-to-group 的更好方法
    【解决方案2】:

    我遇到了同样的问题。最方便的方法是以超级用户身份启动 R。

    须藤

    之后,install.packages("some package") 应该可以工作了。

    【讨论】:

      【解决方案3】:

      如果你是唯一需要这些包的用户,那么最简单、最简洁的方法就是让 R 为你创建一个个人库。这样你就不需要弄乱包管理系统管理的系统目录了。

      在 Ubuntu 中安装 一些 包的另一种方法是查找名称类似于 r-cran-* 的 Ubuntu 包。这样您就不必担心依赖关系,所有用户都可以使用这些包,并且更新由 Ubuntu 包管理系统负责。但是只有一小部分 CRAN 包可以通过这种方式获得,您可能无法获得最新版本。

      【讨论】:

        【解决方案4】:

        好吧,我更喜欢将软件包安装到本地 R 文件夹 ~/R/,但这只是个人喜好的问题...您也可以授予自己对默认库的写入权限,这没有任何区别。

        请务必添加最新的软件包。默认存储库中可用的那些包已经很老了。 R v.2.9.0 在 9.10 中默认可用,而 v.2.10.1 现在可用。 所以保持最新,将此行添加到文件/etc/apt/sources.list(将<text>替换为CRAN服务器地址,您可以在www.r-project.org > CRAN > Linux > Ubuntu上找到服务器地址):

        deb http://<my.favorite.cran.mirror>/bin/linux/ubuntu karmic/

        然后在终端运行这一行:

        gpg --keyserver subkeys.pgp.net --recv-key E2A11821 && gpg -a --export E2A11821 | sudo apt-key add -

        如果密钥导入正确,运行:

        sudo apt-get install r-base-core

        或者如果你已经安装了 R,运行:

        sudo apt-get update && sudo apt-get upgrade

        您还应该检查alias 函数(在终端中尝试man alias)以自动执行重复性任务...在终端中感觉很舒服,Synaptic 确实是一个很好的工具,但大多数 Linux 用户更喜欢命令行方法很好的理由 - 它是高度可定制的 =)

        我建议您坚持使用一台服务器(在选择默认服务器时建议您 - 我更喜欢 UCLA 的服务器,伯克利工作得很好,主服务器通常很忙......所以那里......)

        或者,您可以将默认 CRAN 服务器添加到 .First() 函数:

        # replace '<server address>'
        
        .First() <- function() {
        options("repos" = c(CRAN = "<my.favorite.cran.mirror>"))
        }
        

        现在您可以输入:

        &gt; install.packages('&lt;somepackage&gt;')

        您将失去无聊的 Tcl/Tk 服务器列表窗口!哦,真是一种解脱!

        欢迎来到 Ubuntu!
        干杯,伙计!

        【讨论】:

        • 这是一个很好的答案,抱歉 dirk 已经收到支票了,谢谢!
        • 没关系...很难像 Dirk 一样及时准确地回答!万事如意!
        • 答案略有不同。 CRAN 的 Ubuntu 存储库主要是关于 R 本身,而不是包。 options("repos") 位我确实没有明确提及,但 littlers install.r` 就是这样做的。最后,我不认为 ~/R 是好的做法(除了纯粹的私有模块),但每个人都有自己的。
        • 嗨,德克!看了一眼install.r源码,默认的CRAN服务器是http://cran.us.r-project.org。当然,这可以在某个时候进行编辑...顺便说一句,我发现代码中有一个错字(没什么严重的):cat("Usage: installr.r pkg1 [pkg2 pkg3 ...]\n") 应该是install.r...正如我所说,没什么严重的...请,解释使用默认 lib.loc 的优点,而不是在 ~/ 文件夹中创建个人的?个人图书馆方法的缺点是什么?谢谢!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-25
        • 1970-01-01
        • 2015-10-29
        • 1970-01-01
        相关资源
        最近更新 更多