每当我跑:
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中时。
答案 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