您的Ruby版本是2.0.0,但您的Gemfile指定为2.1.0

ste*_*ecd 58 ruby gemfile

当我尝试捆绑安装时,我收到以下消息:

Your Ruby version is 2.0.0, but your Gemfile specified 2.1.0
Run Code Online (Sandbox Code Playgroud)

在我的Gemfile中,我有以下内容:

ruby '2.1.0'
Run Code Online (Sandbox Code Playgroud)

当我ruby -v在控制台中运行时,我得到:

ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin12.0]
Run Code Online (Sandbox Code Playgroud)

Ruby 2.1.0p0是什么意思?我的Gemfile应该有什么版本,为什么错误告诉我我有Ruby版本2.0.0?

Зел*_*ный 94

gem install bundler
Run Code Online (Sandbox Code Playgroud)

要么

gem update bundler 
Run Code Online (Sandbox Code Playgroud)

这可能会解决你的问题.

对于所有新安装的Ruby版本,您应该更新或安装新的捆绑器.

  • 我遇到了完全相同的问题,但这并没有为我解决问题.你能详细说明为什么这会起作用吗?安装bundler之后,我仍然得到`你的Ruby版本是2.0.0,但是你的Gemfile指定了2.0.0-p645`.`rbenv`甚至没有_have_ 2.0.0. (9认同)
  • 哈.这甚至适用于我的2.0.0 vs 2.2.4问题,虽然在更新bundler时我得到了一个"`Nothing to update```消息.¯\ _(ツ)_ /¯ (6认同)
  • 如果您刚刚安装了该版本,则重新启动shell也可能有所帮助. (5认同)

Cla*_*ges 14

在项目的顶级目录中,创建一个名为.ruby-versioncontains(等待它...)的文件

2.1.0
Run Code Online (Sandbox Code Playgroud)

这显然是{rbenv,rvm}现在规范版本的交叉方式.


Mye*_*ter 12

如果你在Rails项目中得到这个,并且你最近升级了你的Ruby版本,那么你可能还会使用旧版本的Ruby运行spring.

./bin/spring stop
Run Code Online (Sandbox Code Playgroud)

会解决这个问题.


Jua*_*rez 7

对我来说,没有一个答案有帮助.我把它固定关闭并再次打开终端.


Kar*_*ren 7

没有其他建议对我有用。在服务器上,我必须这样做:

rvm --default use [correct version number]