bundle使用错误的ruby版本

我想跑

env RAILS_ENV=test bundle exec rake db:migrate

并得到以下错误

Your Ruby version is 2.1.7, but your Gemfile specified 2.2.3

ruby -v

给我

ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin15]

我正在使用rbenv,如果这很重要的话。 rbenv versions提供以下内容: system * 2.2.3 (set by /Users/thatsme/Projects/demoproject/.ruby-version)所以我没有安装ruby 2.1.7 。 Spring没有运行,我运行rbenv rehash 。 然后安装bundler gem 。 我对此很疯狂。 有人可以告诉我为什么使用错误的ruby版本? 谢谢!

假设:您正在使用RVM。 这意味着在RVM之外安装了ruby版本。 通过运行清除你的rvmruby

 rvm uninstall  

一旦你卸载了所有的rvm rubies做ruby -v ,如果这返回一个指定ruby版本的输出那么就是问题的根源。 用它卸载它

 sudo apt-get remove ruby 

现在用rvm install 安装你的rvm rvm install 并将其设置为默认rvm use

现在安装bundler

 gem install bundler 

并进行bundle install

我有同样的问题

我需要跑

重新安装我所有的gem。 然后

捆绑exec rails c

运行以下命令对我有所帮助: rbenv exec gem install bundler