1

每当我跑步时:

rails -v

我得到结果

rails 3.2.13

但我的gemfile如下:

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

我的 gemfile.lock 也有 3.2.12,但由于某种原因,当我检查版本时,我安装了 3.2.13。我认为这就是每次尝试运行服务器时都会出现错误的原因:

在任何源中都找不到 rake-10.0.4 (Bundler::GemNotFound)

谁能告诉我为什么我要运行 rails 3.2.13?我想运行 3.2.12,因为我的技术人员告诉我 2.13 仍然存在问题,我需要坚持使用 2.12。

当我已经安装了 rake gem 并且它在我的 gemfile 中时,任何人都可以告诉我为什么我会收到 rake 错误。

4

3 回答 3

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'

是相同的>= 3.2.12< 3.3这意味着3.2.13根据您的Gemfile.

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

gem 'rails', '3.2.12'
于 2013-04-23T11:05:59.057 回答
1

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

gem list | grep rails

来验证它。

如果是这种情况,请使用bundle exec前缀运行您的命令。使用bundle execbundler gem 查看您的 Gemfile 并仅使 Gemfile 中指定的那些 gem 可用于以下命令。

这边走

bundle exec rails -v

应该给你rails 3.2.12

于 2013-04-23T11:07:28.903 回答
0

尝试,gem update rake

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

于 2013-04-23T11:08:01.583 回答