赫斯基显示Bundler :: RubyVersionMismatch错误

时间:2019-03-15 10:34:14

标签: ruby-on-rails ruby yarnpkg husky

最近,我尝试将husky集成到应用程序中以进行预提交格式设置。我只使用rubocop来测试提交,但是在尝试提交时却给出了错误。

我的package.json

{
  "name": "asdf",
  "private": true,
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "{app,spec}/**/*.rb": [
      "bin/rubocop --require rubocop-rspec --safe-auto-correct",
      "git add"
    ]
  },
  "devDependencies": {
    "husky": "^1.3.1",
    "lint-staged": "^8.1.5"
  }
}

它给出的错误

husky > pre-commit (node v8.15.1)
↓ Stashing changes... [skipped]
  → No partially staged files found...
   ❯ Running linters...
     ❯ Running tasks for {app,spec}/**/*.rb
       ✖ bin/rubocop --require rubocop-rspec --safe-auto-correct
        git add

       ✖ bin/rubocop --require rubocop-rspec --safe-auto-correct found some errors. Please fix them and try committing again.

       /usr/lib/ruby/vendor_ruby/bundler/definition.rb:489:in `validate_ruby!': Your Ruby version is 2.5.1, but your Gemfile specified 2.5.0 (Bundler::RubyVersionMismatch)

我的rvm

=* ruby-2.5.0 [ x86_64 ]
   ruby-2.5.3 [ x86_64 ]
   ruby-2.6.1 [ x86_64 ]

注意:rails server运行得很好,其他所有命令也是如此。

1 个答案:

答案 0 :(得分:0)

更新ruby中的Gemfile版本:

ruby "2.5.1"

它偶尔运行(因为2.5.02.5.1之间没有太多区别),并且“运行成功”基本上没有任何意义。