为什么我会收到错误“您的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.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总是试图挑选它。 根据本网站的步骤 :
- 确保使用正确的gem版本。 键入
which gem
和gem env
并检查它是否指向2.2.2 ruby版本 - 使用此
gem install bundler
:gem install bundler
- 安装此版本的bundler后,运行
rbenv rehash
- 调用
which bundler
,确保它现在指向捆绑器的垫片版本
如果您的GEM_HOME
或GEM_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
。 手动采购后再次工作。