【问题标题】:installed directory not writable, cannot update packages 'boot', 'class', 'KernSmooth', 'mgcv', 'nnet', 'rpart', 'spatial' [duplicate]安装目录不可写,无法更新包'boot','class','KernSmooth','mgcv','nnet','rpart','spatial' [重复]
【发布时间】:2023-03-03 17:16:01
【问题描述】:

我在 Ubuntu 14.04 上的 R 版本 3.1.2 上安装了 Bioconductor 软件包并收到以下消息:

下载的源码包在 '/tmp/RtmpZYw0Qp/downloaded_pa​​ckages' 警告信息:已安装 目录不可写,无法更新包'boot','class', 'KernSmooth'、'mgcv'、'nnet'、'rpart'、'空间'

这是什么意思,它对在 R 上使用上述软件包有何影响?

【问题讨论】:

标签: r


【解决方案1】:

我在 R-studio 工作时遇到了同样的问题。解决方案是授予 R 的 root 访问权限。

在 Windows 中,这意味着您需要以管理员身份运行程序。

在 Unix/Linux 中,您应该通过 sudo R 从终端启动 R。

然后,一旦你以足够的权限运行,你可以尝试安装你的包,它应该可以工作。

【讨论】:

    【解决方案2】:

    警告意味着列出的软件包有更新的版本可用,但您的版本无法更新,因为安装软件包的目录无法写入。通常这意味着 R 是使用“系统管理员”权限安装的,但您正尝试以普通用户身份更新软件包。

    结果是您无法使用更新包中实现的功能或错误修复。具体后果可能从手册页上的轻微排版更正到严重的错误修复。定性地说,我敢打赌,它对于大多数用途来说“无关紧要”。

    解决方案是在以有权写入已安装目录中包的用户身份运行 R 时更新这些包——通常是.libPaths() 输出的最后一个元素,或者通过installed.packages()[, "LibPath"] 进行更细粒度的输出

    【讨论】:

    • 是否可以让用户像install.packages()一样将相同的包安装到本地库中?
    • 我相信行为遵循 update.packages(),所以我认为您的问题是“可以 update.packages() 在不同的位置安装更新吗?”我想答案是否定的,解决方法是自己安装软件包,通过 biocLite() 或 install.packages(),并有机会将它们安装在可写的位置。
    【解决方案3】:

    我今天在 Windows 下安装三个 Bioconductor 软件包时遇到了同样的问题。两个(我真正想要的包的依赖项)已经以更新的形式在我的系统上(如@Martin-Morgan 解决方案中所述),因此无需采取任何措施。但是,没有安装一个。对于这个第三个软件包,我成功地从安装失败期间下载的本地文件进行了安装,而无需提升权限(这是@Ninadmw 概述的下一步)。

    在 R 中,转到菜单 Packages/Install Package(s) from local files 并导航到列出的本地下载目录,在你的例子中是 /tmp/RtmpZYw0Qp/downloaded_packages,然后选择你要安装的包。

    在 RStudio(您应该使用)中,转到菜单 Tools\Install Packages,将安装从字段更改为 Package Archive File (.zip; .tar.gz),使用 Browse... 导航到列出的下载目录,在您的情况下是 /tmp/RtmpZYw0Qp/downloaded_packages并选择要安装的软件包。然后点击Install按钮。

    【讨论】:

      猜你喜欢
      • 2019-05-03
      • 2021-04-03
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多