Google Colab R内核安装R包报非零退出状态的解决方法
纯R内核Google Colab解决R包安装依赖报错方案
纯R内核的Colab环境与Python内核环境共享同一Linux底层容器,完全可以通过R内置函数直接调用系统shell安装所需依赖,无需切换内核,操作步骤如下:
- 在R代码块中执行系统依赖安装
Colab运行容器默认以root权限运行,无需额外配置sudo权限,直接通过R的system()函数调用apt安装所有编译依赖即可,注意必须加-y参数跳过交互确认:system("apt-get update && apt-get install -y libgdal-dev libproj-dev libgeos-dev libudunits2-dev libv8-dev libcairo2-dev libnetcdf-dev libcgal-dev") - 配置CRAN镜像降低网络波动影响
安装R包前先指定稳定的CRAN镜像源,避免因下载超时导致的安装失败:options(repos = c(CRAN = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) - 重新执行R包批量安装命令
依赖安装完成后,直接运行原有的批量安装脚本即可正常完成所有包的编译安装:install.packages(c("rgdal","maptools","raster","dplyr","randomForest","ggplot2", "cluster","spatstat","factoextra","mlbench","caret","doParallel","tidyr","vegan", "rgeos","e1071","multcomp","data.table","keras","googledrive"), dependencies=TRUE)
关键注意事项
- 语法避坑:不要在R内核代码块中使用
!加shell命令的写法,这是Python内核的专属语法,R内核中!是逻辑非运算符,无法实现系统命令调用效果,这也是多数用户误以为纯R内核无法安装系统依赖的核心原因。 - 特殊包适配:批量安装完成后,需要额外执行
keras::install_keras()完成R包对应的Python后端配置,否则调用keras功能时会报环境缺失错误。 - 报错排查:如果仍有个别包返回非零退出状态,可以单独对报错包执行安装命令查看完整编译日志,剩余问题大多是临时网络波动导致的,单独重装对应包即可解决。
内容的提问来源于stack exchange,提问作者Leprechault
相关产品推荐
相关产品推荐

