我正在使用rbenv,当我在项目中运行Your Ruby version is 2.0.0, but your Gemfile specified 2.2.2
命令时,我收到错误bundle install
。奇怪的是,我实际上安装了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
答案 0 :(得分:24)
你安装了一个系统bundler
,而rbenv总是试图挑选它。 Based on the steps on this site:
which gem
和gem env
并检查它是否指向您的2.2.2 ruby版本gem install bundler
rbenv rehash
which bundler
,确保现在指向捆绑商的垫片版本gem install
或rbenv
变量覆盖,或者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
。手动采购后再次使用。