使用Bioconductor安装侦探,路径不可写的错误?

时间:2020-04-19 03:16:56

标签: bioconductor

我无法在S Studio中安装侦探。我已经尝试过使用库存溢出中建议的方法进行故障排除,标题为“安装路径不可写R,无法更新软件包”(链接:installation path not writable R, unable to update packages)。我不断收到以下错误。

错误消息:

Bioconductor version 3.10 (BiocManager 1.30.10), R 3.6.1 (2019-07-05)
Installation path not writeable, unable to update packages: boot, class, foreign, KernSmooth, lattice,
  MASS, Matrix, mgcv, nlme, nnet
Old packages: 'isoband', 'purrr', 'RcppArmadillo', 'RCurl', 'reshape2', 'survival'
Update all/some/none? [a/s/n]: 
BiocManager::install("devtools")    # only if devtools not yet installed
Update all/some/none? [a/s/n]: 
BiocManager::install("pachterlab/sleuth")
Update all/some/none? [a/s/n]:

当我输入此代码时:

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install()
BiocManager::install("devtools")    # only if devtools not yet installed
BiocManager::install("pachterlab/sleuth")

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

This answer可能会有所帮助。

好像有问题的软件包(bootclassforeign等)安装在您没有写许可权的位置。

原则上,尽管有错误消息,也应该已经安装sleuth软件包(您可以通过在R控制台中运行library(sleuth)进行检查)。但是,为避免每次尝试安装(BioConductor)软件包时都出现这些错误,我建议在您具有写访问权的目录中重新安装那些有问题的软件包。根据您的操作系统,它可以位于不同的位置。

我发现this guide对于维护R软件包特别有用。

简而言之(所有命令都在R中运行):

  1. 使用remove.packages()删除错误消息中提到的软件包,如果已安装sleuth,也请将其删除,我们稍后将以更易于维护的方式再次安装
  2. 在R中,检查Sys.getenv("R_LIBS_USER")的输出,这通常应该是您的主目录下的目录路径
  3. R_LIBS_USER目录可能不存在,请使用dir.create(Sys.getenv("R_LIBS_USER"))创建它
  4. 重新启动R (在RStudio中,您可以执行 Session 重新启动R
  5. 检查.libPaths()的输出,第一个元素现在应该是您刚刚创建的目录(即与Sys.getenv("R_LIBS_USER")相同),这是R包所在的默认目录。已安装
  6. 使用sleuth重新安装BiocManager::install("pachterlab/sleuth"),这通常也应该安装所有依赖项。如果没有,您可能必须分别安装它们。

希望这会有所帮助!

相关问题