Ruby on rails capistrano和资产:由于rake版本控制问题,预编译无法工作

Ruby on rails capistrano和资产:由于rake版本控制问题,预编译无法工作,ruby-on-rails,ruby-on-rails-3,rake,capistrano,Ruby On Rails,Ruby On Rails 3,Rake,Capistrano,我在capistrano部署中遇到以下错误: 如果从命令行运行该命令,则会得到以下结果: 您已经激活了rake 0.9.2,但您的文件需要rake 10.0.3。使用bundle exec可以解决这个问题 从我的档案 gem 'rake', '10.0.3' 当我查看Gemfile.lock时,我只看到三次提到rake: railties (3.1.10) rake (>= 0.8.7) rake (10.0.3) rake (= 10.0.3) 这似乎可以将其固定在10.0.3

我在capistrano部署中遇到以下错误:

如果从命令行运行该命令,则会得到以下结果: 您已经激活了rake 0.9.2,但您的文件需要rake 10.0.3。使用bundle exec可以解决这个问题

从我的档案

gem 'rake', '10.0.3'
当我查看Gemfile.lock时,我只看到三次提到rake:

railties (3.1.10)
  rake (>= 0.8.7)
rake (10.0.3)
rake (= 10.0.3)
这似乎可以将其固定在10.0.3

我为什么会遇到这种情况,如何解决?如果我运行
gem卸载rake
,会发生什么?之后卡皮斯特拉诺还会工作吗

提前thx

编辑1 不同的rake版本:

root@curren:/data/sites/domain.com/apps/app-rails/current# rake -V
rake, version 0.9.2
root@curren:/data/sites/domain.com/apps/app-rails/current# bundle exec rake -V
rake, version 10.0.3

如果没有理由不更新rake,您可以运行

bundle update rake
这将实际更新您的Gemfile.lock以使用最新版本的rake

如果您想保留rake 0.9.2,请卸载最新版本

gem uninstall rake
#result on my box
Select gem to uninstall:
 1. rake-0.8.7
 2. rake-10.0.1
 3. rake-10.0.2
 4. All versions
.

对于第3章:

SSHKit.config.command_map[:rake] = "bundle exec rake"

那么为什么不使用bundle exec rake…?嗯,这是一项capistrano任务