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

如何在Azure DevOps Pipeline中使用特定旧版本Ruby(2.7.5)?

在Azure DevOps Pipeline中安装特定版本Ruby(如2.7.5)的方法

由于微软托管代理仅提供次要版本的最新补丁包,无法通过UseRubyVersion@0直接安装特定补丁版本的Ruby,可通过以下几种方式解决:

方法一:使用rbenv手动安装(适用于Linux/macOS托管代理)

针对Ubuntu/Debian代理:

- script: |
    # 安装编译依赖
    sudo apt-get update && sudo apt-get install -y git curl libssl-dev libreadline-dev zlib1g-dev
    # 安装rbenv版本管理工具
    git clone https://github.com/rbenv/rbenv.git ~/.rbenv
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
    echo 'eval "$(rbenv init -)"' >> ~/.bashrc
    source ~/.bashrc
    # 安装ruby-build插件(用于编译安装Ruby)
    git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
    # 编译安装Ruby 2.7.5
    rbenv install 2.7.5
    # 设置全局使用该版本
    rbenv global 2.7.5
    # 验证安装结果
    ruby --version
  displayName: 'Install Ruby 2.7.5 via rbenv (Ubuntu)'

针对macOS代理:

- script: |
    brew update
    brew install rbenv ruby-build
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
    echo 'eval "$(rbenv init -)"' >> ~/.zshrc
    source ~/.zshrc
    rbenv install 2.7.5
    rbenv global 2.7.5
    ruby --version
  displayName: 'Install Ruby 2.7.5 via rbenv (macOS)'

方法二:使用ruby-install工具安装

ruby-install是另一个轻量的Ruby版本安装工具,步骤如下:

- script: |
    # 安装依赖(Ubuntu/Debian)
    sudo apt-get update && sudo apt-get install -y curl libssl-dev libreadline-dev zlib1g-dev
    # 下载并安装ruby-install
    curl -fsSL https://github.com/postmodern/ruby-install/archive/master.tar.gz | tar -xzf -
    cd ruby-install-master && sudo make install
    # 安装Ruby 2.7.5
    ruby-install ruby 2.7.5
    # 将安装路径添加到环境变量
    echo 'export PATH="$HOME/.rubies/ruby-2.7.5/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
    # 验证版本
    ruby --version
  displayName: 'Install Ruby 2.7.5 via ruby-install'

方法三:使用自定义Docker镜像(适用于容器化代理或自托管代理)

如果你的Pipeline使用容器代理或自托管代理,可以预先构建包含Ruby 2.7.5的Docker镜像,避免每次构建都重新安装:

示例Dockerfile:

FROM ubuntu:20.04

# 安装依赖并编译Ruby 2.7.5
RUN apt-get update && apt-get install -y git curl libssl-dev libreadline-dev zlib1g-dev
RUN git clone https://github.com/rbenv/rbenv.git ~/.rbenv
RUN echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
RUN echo 'eval "$(rbenv init -)"' >> ~/.bashrc
RUN source ~/.bashrc && git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
RUN source ~/.bashrc && rbenv install 2.7.5 && rbenv global 2.7.5

在Pipeline中使用自定义镜像:

pool:
  vmImage: 'your-custom-image-tag'
# 或使用容器作业
container: your-container-registry/ruby-2.7.5:latest

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:10:29