R包安装之非零状态

小潤澤  IP属地: 云南
0.745字数 524阅读 14,110

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
11人点赞
更多精彩内容,就在简书APP
"小礼物走一走,来简书关注我"
  共1人赞赏
总资产114共写了25.6W字获得1,880个赞共1,953个粉丝