在Ubuntu 18.04安装R包readr时卡在g++编译步骤求助
解决Ubuntu 18.04下R包readr编译卡住的问题
遇到过类似的源码编译卡住的情况,给你几个实用的方案来解决:
先终止卡住的编译进程,补全系统依赖库
源码编译R包经常因为缺失底层系统库导致卡住或失败,readr依赖几个关键的系统开发库。先按Ctrl+C终止当前编译,然后执行以下命令安装缺失的依赖:sudo apt-get update && sudo apt-get install libbz2-dev liblzma-dev libicu-dev安装完成后,重新运行
install.packages("readr", dependencies=T)试试。直接安装二进制包(最推荐)
Ubuntu官方源提供了readr的预编译二进制包,完全不用源码编译,速度快还不会出现编译问题。执行以下命令即可:sudo apt-get install r-cran-readr安装完成后,在R里直接
library(readr)就能使用。开启编译 verbose 模式排查卡点
如果一定要从源码安装,开启详细输出模式,看看编译到底卡在了哪一步,是否有隐藏的等待或资源问题:install.packages("readr", dependencies=T, verbose=TRUE)从输出里可以判断是真的在编译还是卡在了某个资源等待环节。
检查系统资源占用情况
打开终端运行htop或top命令,查看CPU和内存的使用率:- 如果CPU使用率极低,可能是编译过程中遇到了文件锁或资源等待,重启R会话甚至系统后再尝试。
- 如果内存被占满,建议关闭其他占用资源的程序,或者临时增加swap分区来缓解内存压力。
考虑升级R版本(可选)
Ubuntu 18.04默认的R版本是3.6.2,相对较老,部分新R包的源码编译可能在旧版本上兼容性不佳。如果可以接受升级R,先添加CRAN的PPA源,再升级:sudo add-apt-repository ppa:cran/rstudio sudo apt-get update sudo apt-get install r-base升级完成后再尝试安装readr,新版本的R对依赖库的处理更完善。
内容的提问来源于stack exchange,提问作者David Z
相关产品推荐
相关产品推荐

