Ubuntu 22.04下载安装R 4.0.0及项目构建报错求助
R 4.0.0 相关报错与Docker项目运行问题解决
一、Docker构建时的"packages ‘TRUE’, ‘FALSE’ are not available"报错
这个报错并非真的缺少名为TRUE/FALSE的包,是R代码或依赖配置的语法错误——R 4.0.0及更早版本会把误写进依赖列表的逻辑值当成包名处理。
- 检查项目的
DESCRIPTION、renv.lock或Dockerfile中的包安装命令,移除把TRUE/FALSE作为依赖的错误配置 - 建议改用官方R镜像
rocker/r-ver:4.0.0作为Docker基础镜像,避免手动安装R的依赖问题,修改后重新执行docker-compose up --build
二、本地降级R到4.0.0时的"held broken packages"报错
Ubuntu 22.04默认软件源不含R 4.0.0包(对应Ubuntu 20.04的focal版本),直接指定版本安装会因依赖链断裂报错,和锁定包无关:
- 添加CRAN针对focal版本的源:
echo "deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/" | sudo tee /etc/apt/sources.list.d/cran-focal.list - 导入CRAN密钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 - 更新源并安装指定版本:
sudo apt update sudo apt install r-base-core=4.0.0-1.2004.0 - 若仍报错,先彻底清理现有R包:
再重新执行上述安装步骤sudo apt purge --auto-remove r-base-core r-base-dev r-recommended sudo apt autoremove && sudo apt clean
三、源码编译R4.0.0的X11依赖报错
Ubuntu 22.04中XInput.h不在libx11-dev包内,需安装完整的X11开发依赖:
- 安装所需依赖:
其中sudo apt install libx11-dev libxi-dev libxt-dev libxext-devlibxi-dev包含缺失的XInput.h文件 - 若仍有报错,编译时手动指定X11路径:
./configure --with-x=/usr - 若仅需命令行R环境,可直接禁用X11支持:
./configure --with-x=no
内容的提问来源于stack exchange,提问作者LukeBertus
相关产品推荐
相关产品推荐

