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

在CircleCI中配置Ruby版本后仍报错,如何正确设置?

正确的CircleCI Ruby版本设置方式

我之前也碰到过这个一模一样的坑!问题出在你当前用的machine executor上——你在machine下面写的ruby: version: 2.4.4其实是无效的,CircleCI的machine环境默认用的是系统自带的Ruby 2.3.3,不会自动帮你切换版本,所以才会和Gemfile里指定的2.4.4冲突报错。

给你两种靠谱的解决办法,推荐第一种:

方法一:使用CircleCI Ruby Docker镜像(推荐)

用docker executor替代machine,直接指定预装了Ruby 2.4.4的官方镜像,这样环境版本完全匹配,配置更简洁:

version: 2
jobs:
  build:
    docker:
      - image: circleci/ruby:2.4.4
    steps:
      - checkout
      - run: bundle install
      - run: echo "hello"

这个镜像已经帮你配置好了Ruby 2.4.4,不需要额外操作,直接就能满足Gemfile的版本要求。

方法二:在machine环境手动切换Ruby版本

如果你因为某些原因必须用machine executor,可以通过rbenv手动安装并切换到2.4.4版本:

version: 2
jobs:
  build:
    machine: true
    steps:
      - checkout
      - run: |
          rbenv install 2.4.4
          rbenv global 2.4.4
          ruby -v  # 这一步可以确认版本是否切换成功
      - run: bundle install
      - run: echo "hello"

CircleCI的machine环境默认预装了rbenv,所以可以直接用它来安装指定版本的Ruby,设置全局版本后再执行bundle install就不会报错了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:34:09