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

在Ubuntu 24.04容器中安装Ruby 2.5.3失败求助(RVM编译报错)

解决方案

1. 优先使用官方Ruby镜像(最简便)

放弃手动用RVM/rbenv安装,直接基于官方预编译的Ruby 2.5.3镜像构建,完全避免编译问题:

# 直接使用官方Ruby 2.5.3镜像,选择slim变体减少体积
FROM ruby:2.5.3-slim

# 安装项目所需系统依赖(根据实际需求调整)
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    libpq-dev \
    && rm -rf /var/lib/apt/lists/*

# 设置工作目录
WORKDIR /app

# 复制Gemfile文件
COPY Gemfile Gemfile.lock ./

# 安装Ruby依赖
RUN bundle install --without development test

# 复制项目代码
COPY . .

# 启动服务(根据你的端点需求调整命令)
CMD ["rails", "server", "-b", "0.0.0.0"]

2. 若必须使用RVM,调整Dockerfile解决编译依赖问题

Ruby 2.5.3对系统依赖版本有严格要求,尤其是OpenSSL,最新Linux发行版默认的OpenSSL版本过高会导致编译失败,需指定兼容的基础镜像并安装完整编译依赖:

# 使用Ubuntu 18.04(bionic)作为基础镜像,其OpenSSL版本适配Ruby2.5.3
FROM ubuntu:bionic

# 安装系统编译依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
    curl \
    gnupg2 \
    build-essential \
    libssl-dev \
    libreadline-dev \
    zlib1g-dev \
    && rm -rf /var/lib/apt/lists/*

# 安装RVM
RUN curl -sSL https://rvm.io/mpapis.asc | gpg --import - \
    && curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - \
    && curl -sSL https://get.rvm.io | bash -s stable

# 加载RVM环境
RUN echo "source /usr/local/rvm/scripts/rvm" >> ~/.bashrc
SHELL ["/bin/bash", "-l", "-c"]

# 安装Ruby 2.5.3,指定兼容的OpenSSL路径
RUN rvm install 2.5.3 --with-openssl-dir=/usr/lib/ssl

# 设置默认Ruby版本
RUN rvm use 2.5.3 --default

# 后续步骤根据项目需求补充...

3. 排查make.log的具体错误

如果以上方法仍失败,需查看编译日志定位根因:

  • 构建失败后,找到停止的容器ID,将日志复制到宿主机器:
docker cp <container_id>:/usr/local/rvm/log/1719922831_ruby-2.5.3/make.log ./make.log

常见错误原因:

  • 缺少核心编译依赖(如libssl-dev、zlib1g-dev)
  • OpenSSL版本不兼容(Ruby2.5.3不支持OpenSSL 3.x,需用1.1.x或更低版本)
  • Docker内存分配不足(调整Docker的内存限制至2G以上)

4. 解决rbenv不支持版本的问题

若坚持使用rbenv,先更新ruby-build插件,旧版本插件可能未包含Ruby2.5.3的安装定义:

# 在容器内执行
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install 2.5.3

同样需确保系统依赖齐全且基础镜像兼容。

内容的提问来源于stack exchange,提问作者89Tain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:02:44