运行轨道3.2.13但尚未安装?

use*_*710 1 ruby rake ruby-on-rails gemfile

每当我跑:

rails -v
Run Code Online (Sandbox Code Playgroud)

我得到了结果

rails 3.2.13
Run Code Online (Sandbox Code Playgroud)

但我的gemfile如下:

gem 'rails', '~> 3.2.12'
gem 'rake' , '~> 10.0.4'
Run Code Online (Sandbox Code Playgroud)

我的gemfile.lock也有3.2.12,但出于某种原因,当我检查verison时,我已经安装了3.2.13.我想这就是我每次尝试运行服务器时都会收到错误的原因:

无法在任何来源中找到rake-10.0.4(Bundler :: GemNotFound)

任何人都可以告诉我为什么我运行rails 3.2.13?我希望运行3.2.12,因为我的技术人员告诉我2.13仍然存在问题,我需要坚持使用2.12.

也有人可以告诉我为什么我得到了rake错误,当我已经安装了rake gem并且它在我的gemfile中.

dee*_*our 5

文档:

说明符~>具有特殊含义,最好通过示例显示.~> 2.0.3是相同的>= 2.0.3< 2.1.~> 2.1是相同的>= 2.1< 3.0.~> 2.2.beta将匹配预发布版本2.2.beta.12.

这意味着

gem 'rails', '~> 3.2.12'
Run Code Online (Sandbox Code Playgroud)

是相同的>= 3.2.12,< 3.3这意味着3.2.13安装是完全合理和可接受的根据您的Gemfile.

如果3.2.12 只需要3.2.12,则必须指定此项

gem 'rails', '3.2.12'
Run Code Online (Sandbox Code Playgroud)