Ubuntu 18.04安装rstan遇r-api-3.5依赖问题求助
解决Ubuntu 18.04安装rstan时的r-api-3.5依赖问题
我帮你梳理下这个问题的核心:你安装了最新版R,但Ubuntu 18.04官方源里的rstan相关包还绑定着旧版R(3.5.x)的虚拟依赖r-api-3.5,而新版R提供的是对应版本的r-api(比如R4.x对应r-api-4.0),所以apt会报错找不到匹配的包。之前你加的PPA是针对R3.5的,自然解决不了新版R的依赖问题,试试下面的步骤:
步骤1:清理旧的PPA源
先移除之前添加的针对R3.5的源,避免版本冲突:
sudo add-apt-repository --remove ppa:marutter/rrutter sudo add-apt-repository --remove ppa:marutter/c2d4u3.5
步骤2:添加适配新版R的PPA
针对Ubuntu 18.04,添加支持R4.x系列的软件源:
sudo add-apt-repository ppa:c2d4u.team/c2d4u4.0+ sudo add-apt-repository ppa:marutter/rrutter4.0
步骤3:更新源并修复依赖
执行更新命令让系统识别新源,同时修复可能存在的依赖损坏:
sudo apt update sudo apt --fix-broken install
步骤4:优先从R内部安装rstan(推荐)
用apt安装R包往往版本滞后,依赖问题也更多,更稳妥的方式是直接在R环境内安装:
- 先在终端安装编译rstan所需的系统依赖:
sudo apt install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev
- 打开R,执行安装命令:
install.packages("rstan", dependencies = TRUE)
额外说明
如果之后还遇到类似依赖r-api-x.x的问题,记住:r-api是R版本对应的虚拟包,比如R 3.5对应r-api-3.5,R 4.0对应r-api-4.0,只要你的R源和系统里的R版本匹配,就不会出现这类依赖不兼容的问题。
内容的提问来源于stack exchange,提问作者mariellaB
相关产品推荐
相关产品推荐

