运行轨道3.2.13但尚未安装?

时间:2013-04-23 11:01:20

标签: ruby-on-rails ruby rake gemfile

每当我跑:

rails -v

我得到了结果

rails 3.2.13

但我的gemfile如下:

gem 'rails', '~> 3.2.12'
gem 'rake' , '~> 10.0.4'

我的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中时。

3 个答案:

答案 0 :(得分:5)

来自 the documentation

  

说明符~>具有特殊含义,最好通过示例显示。 ~> 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'

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

如果您想要3.2.12 且仅3.2.12 ,则必须指定此

gem 'rails', '3.2.12'

答案 1 :(得分:1)

也许您安装了多个rails版本(2.3.12和2.3.13)。做一个

gem list | grep rails

验证它。

如果是这种情况,请使用bundle exec前缀运行命令。使用bundle exec bundler gem查看您的Gemfile,并仅为Gemfile中指定的以下命令提供这些gems。

这样

bundle exec rails -v

应该给你rails 3.2.12

答案 2 :(得分:0)

尝试,gem update rake

在项目根路径中安装捆绑包:bundle install