CircleCI 使用了错误的 RubyVersion(它忽略了 gemfile)

CircleCI uses wrong RubyVersion (it ignores gemfile)

在 CircleCI 构建中的 bundle 命令期间,我收到错误消息

Your Ruby version is 2.2.1, but your Gemfile specified 2.2.2

bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3  returned exit code 18

Your Ruby version is 2.2.1, but your Gemfile specified 2.2.2 Action failed: bundle install

虽然我有

ruby '2.2.2'

在 Gemfile 的顶部指定。为什么 CircleCI 忽略它?

CircleCI 检查这些文件中指定的 ruby 版本:

  1. .rvmrc
  2. .ruby-version
  3. Gemfile

按照这个特定的顺序!如果它找到 .rvmrc 中指定的 ruby 版本,那么它将忽略 .ruby-versionGemfile 并使用 .rvmrc[=23 中定义的 ruby 版本=]

在我的例子中,我的 .ruby-version 中有 ruby-2.2.1Gemfile 中有 ruby 2.2.2。它使用 ruby-2.2.1 evan 虽然 Gemfile 需要 2.2.2.

我刚遇到这个问题,这是我的 circle.yml 文件。我还没有更新它:

machine:
    ruby:
        version: 2.2.2