我们在安装某些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