为什么我安装了 2.2.2 却出现错误 "Your Ruby version is 2.0.0, but your Gemfile specified 2.2.2"
Why do I get the error "Your Ruby version is 2.0.0, but your Gemfile specified 2.2.2" although I have 2.2.2 installed
我正在使用 rbenv,当我在我的项目中 运行 bundle install
命令时出现错误 Your Ruby version is 2.0.0, but your Gemfile specified 2.2.2
。奇怪的是我实际上安装了 2.2.2 版本(正如我的 Gemfile 指定的),而不是 2.0.0 版本。 (见下图)。
我尝试了这个帖子中提供的解决方案: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.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
您安装了系统 bundler
,并且 rbenv 一直在尝试获取它。 Based on the steps on this site:
- 确保您使用的是正确的 gem 版本。输入
which gem
和 gem env
并检查它是否指向您的 2.2.2 ruby 版本
- 使用此 gem 安装捆绑器:
gem install bundler
- 安装此版本的捆绑器后 运行
rbenv rehash
- 调用
which bundler
,确保它现在指向 bundler 的 shim 版本
如果您覆盖了 GEM_HOME
或 GEM_PATH
变量,或者如果您在 ~/.gemrc
中有自定义配置,gem install
可能无法与 rbenv
一起正常工作, ~/.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>
(注意 ruby-framework-version
并不总是 完全 匹配 ruby-version
。如果 ruby-version
是正确的,那么路径应该没问题)
如果没有,请确保您在上述文件中没有任何环境覆盖或自定义配置。
您可能还想尝试从您的计算机中删除所有捆绑程序,然后再试一次:
rbenv local system
gem uninstall bundler
rbenv local 2.2.2
gem uninstall bundler
我终于用这个帖子解决了我的问题 Bundler not working with rbenv, could not find [gem],
重新安装 rbenv 后使用这些命令:
gem install --no-ri --no-rdoc bundler
rbenv rehash
bundle --path=vendor/bundle
对我来说,问题是我在安装并切换到新的 ruby 版本后没有正确 re-initialized rbenv。
在我的 shell 配置中,如果未安装 rbenv
,我会进行错误检查以避免执行 source (rbenv init -|psub)
。手动采购后它再次工作。
我正在使用 rbenv,当我在我的项目中 运行 bundle install
命令时出现错误 Your Ruby version is 2.0.0, but your Gemfile specified 2.2.2
。奇怪的是我实际上安装了 2.2.2 版本(正如我的 Gemfile 指定的),而不是 2.0.0 版本。 (见下图)。
我尝试了这个帖子中提供的解决方案: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.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
您安装了系统 bundler
,并且 rbenv 一直在尝试获取它。 Based on the steps on this site:
- 确保您使用的是正确的 gem 版本。输入
which gem
和gem env
并检查它是否指向您的 2.2.2 ruby 版本 - 使用此 gem 安装捆绑器:
gem install bundler
- 安装此版本的捆绑器后 运行
rbenv rehash
- 调用
which bundler
,确保它现在指向 bundler 的 shim 版本
GEM_HOME
或 GEM_PATH
变量,或者如果您在 ~/.gemrc
中有自定义配置,gem install
可能无法与 rbenv
一起正常工作, ~/.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>
(注意 ruby-framework-version
并不总是 完全 匹配 ruby-version
。如果 ruby-version
是正确的,那么路径应该没问题)
如果没有,请确保您在上述文件中没有任何环境覆盖或自定义配置。
您可能还想尝试从您的计算机中删除所有捆绑程序,然后再试一次:
rbenv local system
gem uninstall bundler
rbenv local 2.2.2
gem uninstall bundler
我终于用这个帖子解决了我的问题 Bundler not working with rbenv, could not find [gem],
重新安装 rbenv 后使用这些命令:
gem install --no-ri --no-rdoc bundler
rbenv rehash
bundle --path=vendor/bundle
对我来说,问题是我在安装并切换到新的 ruby 版本后没有正确 re-initialized rbenv。
在我的 shell 配置中,如果未安装 rbenv
,我会进行错误检查以避免执行 source (rbenv init -|psub)
。手动采购后它再次工作。