我正在使用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版本的正确方法是什么?
答案 0 :(得分:3)
看起来您正在使用CircleCI 2
但是您正在使用CircleCI 1
方式设置ruby版本。
如此documentation中所述,要在Circle CI 2
中设置ruby版本,您可以在rails应用中创建.ruby-version
文件并提交文件,也可以从构建步骤:
run:
name: Set Ruby Version
command: echo "ruby-2.4.4" > ~/.ruby-version
答案 1 :(得分:2)
免责声明:我是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的答案将帮助您。
答案 2 :(得分:0)
我引用了这个CircleCI docs并创建了一个文件.ruby-version,明确说明了要使用的版本,即2.4.4,它可以工作。内容是
2.4.4