Debian Bookworm(ARM64)无法升级R-base-core及相关R包
解决Debian 12 ARM64下R无法从4.2.2升级到4.4.0-2的问题
问题核心
你的CRAN源可能未适配ARM64架构,导致apt无法获取对应版本的r-base-core包,进而引发依赖冲突,滞留其他R相关升级包。
分步解决方法
确认可用的R包版本
执行以下命令,查看系统中可获取的r-base-core版本列表:apt-cache policy r-base-core检查输出中是否存在
4.4.0-2~bookwormcran.0的ARM64版本条目。修正CRAN源的架构适配
编辑/etc/apt/sources.list,将原CRAN源添加ARM64架构指定:sudo nano /etc/apt/sources.list修改为:
deb https://deb.debian.org/debian bookworm main deb https://deb.debian.org/debian bookworm-updates main deb https://deb.debian.org/debian-security/ bookworm-security main deb [arch=arm64] http://cloud.r-project.org/bin/linux/debian bookworm-cran40/保存退出后,更新apt缓存:
sudo apt update执行完整升级
使用full-upgrade替代普通upgrade,处理依赖关系变更:sudo apt full-upgrade手动安装(若上述步骤失败)
- 确认CRAN仓库存在ARM64版本的
r-base-core包后,手动下载:wget http://cloud.r-project.org/bin/linux/debian/bookworm-cran40/pool/main/r/r-base/r-base-core_4.4.0-2~bookwormcran.0_arm64.deb - 安装包并修复依赖:
sudo dpkg -i r-base-core_4.4.0-2~bookwormcran.0_arm64.deb sudo apt -f install
- 确认CRAN仓库存在ARM64版本的
排查其他干扰因素
- 检查是否有包被标记为保留:
若sudo apt-mark showholdr-base-core在列表中,执行取消保留:sudo apt-mark unhold r-base-core - 确认无其他第三方R源导致版本冲突,可暂时注释非官方源后重试升级。
- 检查是否有包被标记为保留:
内容的提问来源于stack exchange,提问作者Leonardo Vallini
相关产品推荐
相关产品推荐

