为什么我会收到错误“您的Ruby版本是2.0.0,但您的Gemfile指定为2.2.2”,尽管我安装了2.2.2

我正在使用rbenv并且我得到错误Your Ruby version is 2.0.0, but your Gemfile specified 2.2.2当我在项目中运行bundle install命令时Your Ruby version is 2.0.0, but your Gemfile specified 2.2.2 。 奇怪的是我实际安装了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.2rbenv 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

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

  • 确保使用正确的gem版本。 键入which gemgem env并检查它是否指向2.2.2 ruby​​版本
  • 使用此gem install bundlergem install bundler
  • 安装此版本的bundler后,运行rbenv rehash
  • 调用which bundler ,确保它现在指向捆绑器的垫片版本

如果您的GEM_HOMEGEM_PATH变量被覆盖,或者您在~/.gemrc~/.gem/gemrc/etc/gemrc有自定义配置,则gem install可能无法正常使用/etc/gemrc 。 检查gem env的结果,应该说是这样的:

 - INSTALLATION DIRECTORY: /Users//.rbenv/versions//lib/ruby/gems/ (...) - GEM PATHS: - /Users//.rbenv/versions//lib/ruby/gems/ 

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

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

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

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

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

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

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

对我来说问题是我在安装并切换到新的ruby版本后没有正确地重新初始化rbenv。

在我的shell配置中,我有一个不正确的检查,以避免执行source (rbenv init -|psub) rbenv source (rbenv init -|psub)如果没有安装rbenv 。 手动采购后再次工作。