头疼的org.Hs.eg.db还是没有下载好

用户在尝试安装Bioconductor的org.Hs.eg.db包时遇到错误,包括句法分析器错误和写入权限问题。尝试了更改R包下载源、以管理员模式运行R、删除重复文件以及设置不同镜像源,但仍然遇到非零退出状态的问题,导致安装失败。建议检查R环境、依赖包和网络连接。
摘要由CSDN通过智能技术生成

首先是运行代码

if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("AnnotationDbi")

这条代码适用于Bioconductor version: Release (3.16)以及R (version “4.2”)
注意:要根据自己的R的版本进行选择。

但由于我的R比较旧,是4.0版本的,适用于Bioconductor version: Release (3.12)
所以代码是

BiocManager::install(version = '3.12')
library("BiocManager")
BiocManager::install("org.Hs.eg.db")

但是之后安装又遇到bug:

  1. 错误: 句法分析器1行里不能有多字节字符–停止执行
  2. 写入异常,显示写入无权限
  3. 退出时状态非0

本来想着的是改变下载R包的地方,但似乎没有效果,于是又在百度上疯狂搜索。搜到两种主要方法:

  1. 先下载依赖包DBI和AnnotationDbi,再下载org.Hs.eg.db。参考【下载org.Hs.eg.db遇到的坑(已解决)】
BiocManager::install('DBI',dependencies=TRUE) #dependencies为可选参数  #成功
BiocManager::install("AnnotationDbi",dependencies=TRUE) #成功
BiocManager::install('org.Hs.eg.db',dependencies=TRUE,INSTALL_opts = c('--no-lock'))
  1. 以管理员方式打开R,再进行下载包(解决不能写入问题
  2. 找找有没有之前下载但没有成功使用的同名软件,建议用everything,方便快捷、全面找到目的文件/软件。参考【安装程序包‘xxxx’时退出狀態的值不是0】
  3. 更换合适的repos

在这里插入图片描述
结果还是……
有点要崩溃
再试一下删除重复的org.Hs.eg.db_3.12.0.tar.gz文档(使用everything)
之后重启,再输入代码下载

BiocManager::install("org.Hs.eg.db")

还是会报错……在这里插入图片描述

所以目前状况就是……
org.Hs.eg.db包下载完整,但是每次到最后始终是反映为非0状态,导致安装失败……
重启后发现更糟糕,BiocManager链接都上不了……,尝试以下方法(from 建明老师

> options(download.file.method="libcurl")
> options(url.method="libcurl")
> options()$repos
    CRAN
"@CRAN@"
> options()$Bio_mirror
NULL
> options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
> options("repos"=c(CRAN="/CRAN/"))
> options()$repos
    CRAN
"/CRAN/"
> options()$BioC_mirror
[1] "https://mirrors.ustc.edu.cn/bioc/"
> if (!requireNamespace("BiocManager",quietly=TRUE))
+ install.packages("BioManager")
> BiocManager::install(c("org.Hs.eg.db","hgu133plus2.db"),ask=F,update=F)
#报错信息
Warning messages:
1: In file(con, "r") :
  URL 'https://bioconductor.org/config.yaml': status was 'Couldn't connect to server'
2: In file(con, "r") :
  URL 'http://bioconductor.org/config.yaml': status was 'Couldn't connect to server'

找到非零状态含义

在这里插入图片描述
非零退出状态表示:在这种情况下无法安装软件包。尝试不要一次性安装目的包,而是先安装依赖包的方法,依次安装,也许可以达成目的。
使用自动化安装依赖包,加入参数 dependencies=TRUE,即自动安装依赖包

BiocManager::install('org.Hs.eg.db',dependencies=TRUE)

更具体的非零退出状态(https://www.jianshu.com/p/213361f11ae0)

1.包加载安装过程中编译不能通过,因此执行安装加载通过不了。
2.library中路径有中文字符出现
3.library,没有指定安装成功。
4.缺少包的依赖。
5.依赖包冲突:依赖包版本过低或过高,需要remove或delete
6.R的依赖包的镜像不在国内,需要翻墙获取依赖包
7.使用R语言的人对Rstudio和RGUi没有正确安装,导致无法加载到路径中去
8.安装部分R语言包需要以管理员身份运行软件,使得相关依赖包能够写入到library中

解决方法:
一、手动下载依赖包
二、加入参数 dependencies=TRUE, INSTALL_opts = c(‘–no-lock’) 交代清楚依赖关系,并返回无法锁定目录

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值