R包安装报错ERROR: dependency is not available
软件版本
- R版本:version 3.6.0
简要过程
- 安装R包:ComplexHeatmap
- 安装命令:
BiocManager::install("ComplexHeatmap")
- 报错信息:ERROR: dependency ‘GetoptLong’ is not available for package ‘ComplexHeatmap’
- 原因:ComplexHeatmap依赖的GetoptLong依赖的rjson,要求R版本高于当前版本
- 解决:先安装旧版本的rjson,再安装ComplexHeatmap
具体过程
1
在github有查到报错信息:
- 找到个相关Issue
- 按这个Issue说的,安装更旧版本的GetoptLong。
install.packages("https://cran.r-project.org/src/contrib/Archive/GetoptLong/GetoptLong_0.1.8.tar.gz", repo = NULL)
2
尝试安装更旧版本的GetoptLong时,会报另外一个包的错:
- ERROR: dependency ‘rjson’ is not available for package ‘GetoptLong’
- 在CRAN上查rjson,当前这个包的版本是 0.2.21,Depends的R版本要≥ 4.0.0。
- 就是这个原因导致ComplexHeatmap安装不上,其实一开始GetoptLong的报错往上翻一点就会看见rjson的报错。
3
- 到Old sources找旧版本,从新往旧,一个个安装试试。0.2.20版本就装得上。
install.packages("https://cran.r-project.org/src/contrib/Archive/rjson/rjson_0.2.20.tar.gz", repo = NULL)
4
- rjson安装成功后,重新安装ComplexHeatmap。
BiocManager::install("ComplexHeatmap")
安装成功。