为什么我会收到错误"你的Ruby版本是2.0.0,但你的Gemfile指定为2.2.2"虽然我安装了2.2.2

bor*_*ork 20 ruby-on-rails rbenv

我正在使用rbenv,Your Ruby version is 2.0.0, but your Gemfile specified 2.2.2当我bundle install在项目中运行命令时出现错误.奇怪的是我实际安装了2.2.2版本(我的Gemfile指定),而不是2.0.0版本.(见下图).

在此输入图像描述

我尝试了这个线程中提供的解决方案:你的Ruby版本是2.0.0,但是你的Gemfile指定了2.1.0,但它没有效果.

如果这有任何区别的话,我会使用优胜美地的MacBook Air.

更新:

  • which ruby - > Users/myuser/.rbenv/shims/ruby
  • ruby -v - > ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
  • rbenv global 2.2.2并且rbenv rehash,没有效果
  • which bundle - > /usr/bin/bundle
  • gem env- > - GEM PATHS:
    • /Users/myuser/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0
    • /Users/myuser/.gem/ruby/2.2.0

Szt*_*upY 25

你安装了一个系统bundler,rbenv总是试图挑选它.根据本网站的步骤:

  • 确保使用正确的宝石版本.键入which gemgem env检查它指向您的2.2.2版本的红宝石
  • 使用此gem安装bundler: gem install bundler
  • 一旦安装了这个版本的bundler就运行了 rbenv rehash
  • 打电话which bundler,确保它现在指向捆绑器的垫片版本

gem installrbenv如果你有GEM_HOMEGEM_PATH变量覆盖,或者你有自定义配置~/.gemrc,~/.gem/gemrc或者可能无法正常工作/etc/gemrc.检查结果gem env,应该说是这样的:

- INSTALLATION DIRECTORY: /Users/<youruser>/.rbenv/versions/<ruby-version>/lib/ruby/gems/<ruby-framework-version>
(...)
- GEM PATHS:
  - /Users/<youruser>/.rbenv/versions/<ruby-version>/lib/ruby/gems/<ruby-framework-version>
Run Code Online (Sandbox Code Playgroud)

(注意ruby-framework-version并不总是完全匹配ruby-version.如果ruby-version是正确的,那么路径应该没问题)

如果没有,请确保您在上述文件中没有任何环境覆盖或自定义配置.

您可能还想尝试从计算机中删除所有捆绑包,然后再试一次:

  • rbenv local system
  • gem uninstall bundler
  • rbenv local 2.2.2
  • gem uninstall bundler

  • 尝试重新启动两个捆绑包:`rbenv本地系统``gem uninstall bundler``rbenv local 2.2.2``gemroid uninstall bundler`.然后再试一次 (2认同)

bor*_*ork 9

我终于解决了我的问题使用这个线程Bundler没有使用rbenv,找不到[gem],

重新安装rbenv后使用这些命令:

  • gem install --no-ri --no-rdoc bundler
  • rbenv rehash
  • bundle --path=vendor/bundle