以下是学员投稿,初稿发布在生信技能树公众号,见:
最近学员参考了教程: https://mp.weixin.qq.com/s/vO-3_FbjsvqfAwCsn3A7Cw 来安装ArchR,目前ArchR托管在GitHub上。
学员目标:从github上安装ArchR包,由于网速不佳,选择本地安装的方式。
第一步 从github下载安装包(git bash命令行下载):
这个其实就需要想办法了,因为使用git bash命令行下载仍然是从github下载,如果网速超级烂,其实也不可行。这个包好几百个M,可以使用https://gitee.com/作为中转站:
#因为是在个人笔记本上操作,所以采用git bash命令行下载
git clone https://github.com/GreenleafLab/ArchR.git
第二步 在R里面安装
原教程如下所示
敲入代码:
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")
BiocManager::install(c("nabor","motifmatchr","chromVAR","ComplexHeatmap"))#依赖包的安装
install.packages("./ArchR/",repos = NULL)
首先发现报错:
看报错信息,应该是参数设置出现冲突,于是尝试将该参数去掉是否可行(有点盲目,不可取)
PS:其实这个时候学员的问题是,并没有在下载ArchR-master.zip的文件夹打开rstudio,就是没有工作环境的概念,相对路径和绝对路径不清楚。
结果出现新的报错:
回顾培训班的R包安装知识,这个报错可能是由于安装包名称错误或安装命令错误。因为第一次尝试本地安装,没有经验,所以将问题放到了交流群里。非常开心,群里助教老师马上指出我的是命令错误,他建议我本地安装,尝试install_local命令,于是:
devtools::install_local("C:/Users/大米/Desktop/ArchR-master/ArchR-master.zip")
结果又报了新的错误:
看报错信息是依赖包安装过程中出现错误,无法写入C:/Program Files/R/R-3.6.1/library路径??有点懵逼。最后报错的是“非零退出”错误,google了一下也有很多种可能性,陷入迷茫。。。
PS : 这个时候的无法写入,通常是文件夹权限问题,如果没有使用系统管理员权限打开R,就会遇到这样的麻烦,或者安装包的时候,可以指定安装路径。
于是转回最初,希望解决一开始的install.packages参数设置问题。综合网上的教程,尝试了新方法:
install.packages("C:/Users/大米/Desktop/ArchR-master/ArchR/",repos = NULL, type="source")
Bingo!
这里两个参数均很重要!路径也可以用Tab键补全,以减少错误。
注意
本地安装很多时候无法成功,是因为R包之间的依赖性很强,所以学会看报错信息,会提示有什么包未安装,则先安装依赖的包再继续。
看到有方法可以查看某个包的依赖包,就是getDependencies函数:
install.packages("gtools")
library(gtools)
getDependencies("ArchR")
但这个方法对于像ArchR这样刚开发出来的包并不适用,还是得学会看报错信息。
感悟
命令和参数设置均很重要,在对参数不了解的情况下,自行查看帮助文档来选择参数是较为困难的,还是应该先搜几篇教程看看,以迅速明白哪些参数必须设定。
学会看报错信息!
参考资料:
https://mp.weixin.qq.com/s/vO-3_FbjsvqfAwCsn3A7Cw
https://www.jianshu.com/p/c38f1b5a2b5c