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

时间:2015-08-20 14:54:06

标签: 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版本。 (见下图)。

enter image description here

我尝试了这个帖子中提供的解决方案:Your Ruby version is 2.0.0, but your Gemfile specified 2.1.0,但它没有效果。

我在使用Yosemite的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

3 个答案:

答案 0 :(得分:24)

你安装了一个系统bundler,而rbenv总是试图挑选它。 Based on the steps on this site

  • 确保使用正确的宝石版本。输入which gemgem env并检查它是否指向您的2.2.2 ruby​​版本
  • 使用此gem安装bundler:gem install bundler
  • 安装此版本的bundler后,运行rbenv rehash
  • 致电which bundler,确保现在指向捆绑商的垫片版本
如果您的gem installrbenv变量覆盖,或者GEM_HOME中有自定义配置,{p> GEM_PATH可能无法与~/.gemrc一起正常运行{ {1}}或~/.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> 并不总是与<{1}} 匹配。如果ruby-framework-version是正确的,那么路径应该没问题)

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

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

  • ruby-version
  • ruby-version
  • rbenv local system
  • gem uninstall bundler

答案 1 :(得分:9)

我终于使用这个帖子Bundler not working with rbenv, could not find [gem]

解决了我的问题

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

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

答案 2 :(得分:0)

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

在我的shell配置中,我检查错误,以避免在source (rbenv init -|psub)未安装的情况下执行rbenv。手动采购后再次使用。