3

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

在此处输入图像描述

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

从我的 Gemfile

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 uninstall rake?Capistrano 在那之后还能工作吗?

提前谢谢

编辑 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
4

2 回答 2

3

对于第 3 章:

SSHKit.config.command_map[:rake] = "bundle exec rake"
于 2013-12-28T23:39:33.483 回答
2

如果没有理由不更新 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

这篇 Yehuda Katz 博客文章解释了更多

于 2013-01-17T09:22:07.890 回答