繁体   English   中英

如何在circleCI中设置ruby版本?

[英]How to set the ruby version in circleCI?

我正在使用circleCI for CI和以下.yml文件

version: 2
jobs:
  build:
    machine:
      ruby:
        version: 2.4.4
    steps:
      - checkout
      - run: bundle install
      - run: echo "hello"

错误消息是

Your Ruby version is 2.3.3, but your Gemfile specified 2.4.4
Your Ruby version is 2.3.3, but your Gemfile specified 2.4.4

我的Gemfile是

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.4.4'

设置ruby版本的正确方法是什么?

看起来您正在使用CircleCI 2但是您正在使用CircleCI 1方式设置ruby版本。

如本文档所述 ,要在Circle CI 2设置ruby版本,您可以在rails应用程序中创建.ruby-version文件并提交文件,也可以从构建步骤创建它:

run:
  name: Set Ruby Version
  command:  echo "ruby-2.4.4" > ~/.ruby-version

免责声明:我是CircleCI开发者倡导者

您的配置示例混合使用CircleCI 2.0和1.0配置语法,这导致了问题。

如果你想在CircleCI 2.0版本中使用Ruby 2.4.4并且你想使用我们预制的Docker镜像,那么你的配置应如下所示:

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

以上示例适用于Linux环境。 如果您正在进行macOS构建,那么@ e_a_o的答案将帮助您。

我引用了这个CircleCI文档,并创建了一个文件.ruby-version,明确说明了要使用的版本,即2.4.4,它可以工作。 内容是

2.4.4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM