gpt4 book ai didi

r - 安装路径不可写R,无法更新包

转载 作者:行者123 更新时间:2023-12-02 12:51:15 25 4
gpt4 key购买 nike

我正在尝试使用其网站上的代码将 Bioconductor 安装到 R 中。当我输入代码时(见下文),我收到一条错误消息,指出某些软件包无法更新,安装路径不可写。

> ## try http:// if https:// URLs are not supported
> source("https://bioconductor.org/biocLite.R")
Bioconductor version 3.4 (BiocInstaller 1.24.0), ?biocLite for help
> biocLite()
BioC_mirror: https://bioconductor.org
Using Bioconductor 3.4 (BiocInstaller 1.24.0), R 3.3.2 (2016-10-31).
installation path not writeable, unable to update packages: Matrix, mgcv,

生存

我可以通过转到packages/install packages来安装这些软件包。

> utils:::menuInstallPkgs()
trying URL 'https://www.stats.bris.ac.uk/R/bin/windows/contrib/3.3/Matrix_1.2-8.zip'
Content type 'application/zip' length 2775038 bytes (2.6 MB)
downloaded 2.6 MB

trying URL 'https://www.stats.bris.ac.uk/R/bin/windows/contrib/3.3/mgcv_1.8- 16.zip'
Content type 'application/zip' length 2346257 bytes (2.2 MB)
downloaded 2.2 MB

trying URL 'https://www.stats.bris.ac.uk/R/bin/windows/contrib/3.3/survival_2.40-1.zip'
Content type 'application/zip' length 5109948 bytes (4.9 MB)
downloaded 4.9 MB

package ‘Matrix’ successfully unpacked and MD5 sums checked
package ‘mgcv’ successfully unpacked and MD5 sums checked
package ‘survival’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
C:\Users\stxeb8\AppData\Local\Temp\Rtmp2tQZ4v\downloaded_packages

然后我可以转到包/加载包并成功加载它们并搜索并查看包是否在那里。

> local({pkg <- select.list(sort(.packages(all.available =   TRUE)),graphics=TRUE)
+ if(nchar(pkg)) library(pkg, character.only=TRUE)})
Loading required package: nlme
This is mgcv 1.8-16. For overview type 'help("mgcv-package")'.
> local({pkg <- select.list(sort(.packages(all.available = TRUE)),graphics=TRUE)
+ if(nchar(pkg)) library(pkg, character.only=TRUE)})
> local({pkg <- select.list(sort(.packages(all.available = TRUE)),graphics=TRUE)
+ if(nchar(pkg)) library(pkg, character.only=TRUE)})
> local({pkg <- select.list(sort(.packages(all.available = TRUE)),graphics=TRUE)
+ if(nchar(pkg)) library(pkg, character.only=TRUE)})
> search()
[1] ".GlobalEnv" "package:survival" "package:mgcv"
[4] "package:nlme" "package:Matrix" "package:BiocInstaller"
[7] "package:stats" "package:graphics" "package:grDevices"
[10] "package:utils" "package:datasets" "package:methods"
[13] "Autoloads" "package:base"

但是当我去安装bioconductor时,它给了我同样的错误消息,Matrix、mgcv和survival无法更新。

> ## try http:// if https:// URLs are not supported
> source("https://bioconductor.org/biocLite.R")
Bioconductor version 3.4 (BiocInstaller 1.24.0), ?biocLite for help
> biocLite()
BioC_mirror: https://bioconductor.org
Using Bioconductor 3.4 (BiocInstaller 1.24.0), R 3.3.2 (2016-10-31).
installation path not writeable, unable to update packages: Matrix, mgcv,
survival

我该怎么做才能更新这些软件包以便安装 bioconductor?

最佳答案

一般来说,我建议不要更改系统文件夹中的权限,因为 R 应该无需额外的管理权限即可工作。

因此,我同样建议不要使用管理权限安装软件包,因为将来每次需要更新这些软件包时都需要这样做!

要回溯此问题并防止在将来的更新中将其最小化,您应该执行以下步骤:

  1. 注意哪些软件包无法更新(已在错误消息中显示)。
  2. 使用 .libPaths() 找到安装所有 R 软件包的文件夹。这应该会提供两个结果,一个是主文件夹中的目标,另一个是系统文件夹

"/home/USER/R/x86_64-pc-linux-gnu-library/X.X" "/usr/lib/R/library"

  • 使用 install.packages(c("PKG1", "PKG2", "PKG3"))BiocManager::install(c("PKG1", "PKG2") 安装软件包“,“PKG3”))*
  • 仅当您拥有管理员权限:使用管理员权限从系统文件夹(“/usr/lib/R/library”)中手动删除较旧的软件包文件夹(sudo) 或者以管理员权限输入 R 最后一次 并运行 remove.packages(c("PKG1", "PKG2", "PKG3"), lib = "/usr/lib/R/库”)
  • *如果安装路径有问题,请将参数 , lib = "/home/USER/R/x86_64-pc-linux-gnu-library/X.X" 添加到任一安装步骤 3 中的函数。此参数明确指出要安装在您的主文件夹中。

    这种方法有一个问题,至少对于 Arch Linux 上的官方 R 存储库来说是这样:每当 R 更新时,更新的版本仍然包含系统文件夹中的包,没有管理权限就无法更新。因此,对于每次 R 更新,必须重复此过程。我特别关注你生存!!!

    *编辑:需要注意的是,biocLite 不再是安装 BioConductor 软件包的推荐工具。您应该使用 BiocManager,它位于官方 CRAN 存储库 (install.packages("BiocManager"))。

    **第二次编辑:由于这个答案仍然收到投票,我已经更新并清理了答案。

    关于r - 安装路径不可写R,无法更新包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41839214/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com