Ubuntu Focal下apt可列出R 4.3.1版本但无法识别安装的问题求助
Ubuntu Focal下apt可列出R 4.3.1版本但无法识别安装的问题求助
嘿,我看了你的问题,核心原因其实是系统架构不匹配!仔细看你的输出就能发现:
apt list显示的r-base-core/focal-cran40 4.3.1-1.2004.0是amd64架构的包- 而你的系统是
arm64架构(从apt-cache policy里的http://ports.ubuntu.com/ubuntu-ports focal/universe arm64 Packages能明确看出来)
APT默认只会优先匹配当前系统架构的包,所以虽然能列出amd64版本的R,但你的arm64系统找不到对应架构的安装包,自然就会报错说版本不存在。
下面给你两个可行的解决方案,你可以根据自己的需求选择:
方案1:安装适配arm64架构的R 4.3.1
首先先确认下你的系统架构,执行这条命令就能看到:
dpkg --print-architecture
不出意外的话输出是arm64。
接下来分两种情况处理:
- 如果CRAN的focal-cran40源支持arm64:你可以先手动检查源地址对应的arm64包目录是否存在
r-base-core相关文件。如果有,那可能是源缓存的问题,直接重新更新下源试试:
然后再尝试安装:apt updateapt install -y r-base-core - 如果CRAN源没有arm64的R 4.3.1包:那只能从源码编译安装了,步骤如下:
- 先安装编译依赖:
apt install -y build-essential libcurl4-openssl-dev libssl-dev libxml2-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev libpng-dev libtiff5-dev libjpeg-dev - 下载R 4.3.1的源码包并解压:
wget https://cran.r-project.org/src/base/R-4/R-4.3.1.tar.gz tar -xzf R-4.3.1.tar.gz cd R-4.3.1 - 配置编译参数并编译安装:
./configure --prefix=/usr/local make -j$(nproc) make install
R --version就能看到4.3.1版本了。 - 先安装编译依赖:
方案2:跨架构安装amd64版本(不推荐)
如果你实在没办法,一定要装amd64的R 4.3.1,可以尝试启用multiarch跨架构支持,但这种方式可能会有依赖冲突或运行兼容性问题,谨慎使用:
- 添加amd64架构支持:
dpkg --add-architecture amd64 apt update - 指定架构安装:
apt install -y r-base-core:amd64=4.3.1-1.2004.0
备注:内容来源于stack exchange,提问作者dash2
相关产品推荐
相关产品推荐

