You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Ubuntu 20.04 Docker镜像中安装指定版本R(4.2.3)

在Ubuntu 20.04镜像中安装特定版本R 4.2.3

要在Ubuntu 20.04基础镜像中安装R 4.2.3,你需要在安装时明确指定版本号,同时添加版本锁定规则避免后续操作中R被意外升级。以下是修改后的Dockerfile:

FROM ubuntu:20.04

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update -qq && apt-get -y install --no-install-recommends --no-install-suggests \
    ca-certificates software-properties-common gnupg2 gnupg1 \
    && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 \
    && add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/'

# 添加版本锁定规则,防止R被意外升级
RUN echo "Package: r-base r-base-dev r-recommended r-base-core" > /etc/apt/preferences.d/r-base \
    && echo "Pin: version 4.2.3-1.2004.0" >> /etc/apt/preferences.d/r-base \
    && echo "Pin-Priority: 1001" >> /etc/apt/preferences.d/r-base

# 安装指定版本的R及核心组件
RUN apt-get update -qq && apt-get -y install --no-install-recommends \
    r-base=4.2.3-1.2004.0 \
    r-base-dev=4.2.3-1.2004.0

# 安装其他必要依赖包
RUN apt-get -y --no-install-recommends install \
    curl \
    libxml2-dev \
    libcairo2-dev \
    libsqlite3-dev \
    libmariadbd-dev \
    libpq-dev \
    libssh2-1-dev \
    unixodbc-dev \
    libcurl4-openssl-dev \
    libssl-dev \
    libsodium-dev

# 验证安装的R版本
RUN R --version

关键说明:

  • 版本号确认:4.2.3-1.2004.0是R 4.2.3对应Ubuntu 20.04(focal)仓库中的完整版本号,你可以在临时Ubuntu 20.04容器中执行apt-cache show r-base命令确认该版本的存在性。
  • 版本锁定:通过/etc/apt/preferences.d/r-base配置文件设置Pin-Priority为1001,确保后续执行apt-get upgrade等操作时,系统不会自动升级R相关包。
  • 精准安装:在apt-get install命令后直接指定版本号,强制安装目标版本而非仓库中的最新版。

若安装时遇到依赖冲突,可尝试添加--fix-missing参数,或查看冲突依赖包的对应版本并一并指定安装。

内容的提问来源于stack exchange,提问作者Yasin Amini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 00:40:05