R包安装之非零状态

我们在安装某些R包的时候,可能有下面这些情况


had non-zero exit status

导致这个状态的原因有:

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

一般来说,解决这个问题主要有两种方式:
第一就是看报错信息,缺少哪一个包的依赖,就安装哪一个包即可(也可以手动安装);如果是包之间产生冲突(比方说命名空间冲突),那么就remove掉这个包就可以了

第二个是比较懒的方法,即在安装包的时候,加dependencies=TRUE, INSTALL_opts = c('--no-lock')

#安装1:
BiocManager::install("package",version = "3.10",dependencies=TRUE, INSTALL_opts = c('--no-lock'))

#安装2:
install.packages("package", dependencies=TRUE, INSTALL_opts = c('--no-lock'))

即交代清楚依赖关系,并返回无法锁定目录

或者从本地安装:

install.packages("path/package",repos = NULL, type="source")

当然,还有的情况需要换几个repos才能安装成功
这里推荐一个常用的repos

repos='http://cran.rstudio.com/'
install.packages('packages', repos='http://cran.rstudio.com/')

或者使用pak来自动安装依赖包:
安装pka

install.packages("pak")
#或者开发版
install.packages("pak", repos = "https://r-lib.github.io/p/pak/dev/")

安装包:

# CRAN或Bioconductor
pak::pkg_install("package")

# github
pak::pkg_install("github_path")
## 例如 
pak::pkg_install("tomwenseleers/export")

参考:https://zhidao.baidu.com/question/1576529847462184940.html

https://blog.csdn.net/tandelin/article/details/87719623

https://stackoverflow.com/questions/14382209/r-install-packages-returns-failed-to-create-lock-directory

https://mp.weixin.qq.com/s/iAO1emE-DJ07V8GeNFmr4Q

https://www.jianshu.com/p/6136794d65ab?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq

你可能感兴趣的:(R包安装之非零状态)