您的Ruby版本是2.3.1,但运行rails时您的Gemfile指定了2.4.1

我正在尝试从ruby 2.3.0升级到2.4.1。 为此,我做了rvm使用2.4.1@my-project –create(我已经在另一个项目中使用2.4.1)。 我将gemfile从ruby "2.3.0"更改为ruby "2.4.1" ,然后运行了bundle install。 我的gemfile.lock已正确更改。

但是,当尝试在控制台中运行rails时,我有错误:

 Your Ruby version is 2.3.1, but your Gemfile specified 2.4.1 

这不符合逻辑,因为当我运行which ruby我得到以下答案: /.rvm/rubies/ruby-2.4.1/bin/ruby/.rvm/rubies/ruby-2.4.1/bin/ruby which ruby /.rvm/rubies/ruby-2.4.1/bin/rubyruby -v answers ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux] 。 此外,我从未将2.3.1用于任何项目; 当在控制台中运行rvm列表时,我没有看到该版本的ruby。

是否可能与rails发生冲突? 我正在使用rails 4.2.7.1

我尝试了以下stackoverflow问题中给出的所有答案:

  • 您的Ruby版本是1.9.3,但您的Gemfile指定为2.1.0
  • 您的Ruby版本是2.3.0,但您的Gemfile指定为2.1.2
  • 您的Ruby版本是2.3.1,但您的Gemfile指定为2.1.4
  • 如何修复“您的Ruby版本是1.9.3,但您的Gemfile指定为2.0.0”
  • 您的Ruby版本是2.2.4,但您的Gemfile指定为2.3.0?
  • 您的Ruby版本是2.0.0,但您的Gemfile指定为2.1.0

所以我有点想法。 谢谢您的帮助!

我面临同样的问题,停止弹簧和清除tmp,其中包括bootsnap缓存为我工作

 spring stop rake tmp:clear