45

我刚刚运行了 bundle update 并且 capistrano 已更新到 3.0.0 但是现在当我运行 cap deploy 时出现错误并且无法弄清楚如何解决这个问题。在这次更新之前,我每天都在更新我的服务器,没有问题。

cap aborted!
cannot load such file -- deploy
/home/mark/rails_apps/myapp/Capfile:1:in `load'
/home/mark/rails_apps/myapp/Capfile:1:in `<top (required)>'

头文件

load 'deploy'
load 'deploy/assets'
load 'config/deploy' # remove this line to skip loading any of the default tasks
4

9 回答 9

39

我不得不 gem 卸载 capistrano 并选择了 3.0.0 版本

(即将 gem 降级到 2.x)

于 2013-10-08T14:32:48.850 回答
21

我不得不跑 gem uninstall capistrano

然后更新gemfile gem 'capistrano', '~> 2.15'

然后再次运行以重新安装正确的版本 bundle update capistrano

于 2014-01-08T21:18:35.143 回答
18

确保您使用的是 bundle exec(很可能您有多个 gem 版本的 capistrano)

IE

bundle exec cap -T

于 2013-11-13T17:39:06.723 回答
8

不要降级到 Capistrano 2,而是使用当前版本的新配置。

require "capistrano/bundler"
require "capistrano/rails/assets"
require "capistrano/rails/migrations"

另请参阅这篇不错的帖子,它总结了 Capistrano 2 和 3 之间的差异。

于 2014-02-28T08:07:55.180 回答
4

将相关的宝石添加到您的Gemfile

即对于

gem 'capistrano-bundler' # for capistrano/bundler
gem 'capistrano-rails' # for capistrano/rails/*

不要为此降级到 2.x。

于 2014-04-22T00:15:05.217 回答
3

我今天遇到了这个问题,上面的 Pastullo 解决方案修复了它,除了我必须运行 gem uninstall capistrano (正如 markhorrocks 回答的那样)而不是 bundle uninstall capistrano。

我还发现这个关于 bundler 的博客非常有用:http: //viget.com/extend/bundler-best-practices

感谢您分享此内容,因为它为我节省了大量时间。X

于 2014-02-04T00:51:49.633 回答
2

我发现解决此问题的最快方法是备份 cap 文件(Capfile、config/deploy.rb 和 config/deploy/*.rb),然后重新 capify(它不再称为“capify”):

bundle exec cap install STAGES=staging,production

然后从备份中重新创建 cap 文件。完成此操作将花费您 5 分钟,您将完成主要的 Capistrano 升级驼峰。

于 2015-04-02T11:31:03.860 回答
1

我用了

bundle exec cap production deploy

而不仅仅是cap production deploy

于 2017-10-24T11:45:23.783 回答
0

就我而言,我已经更改了我的项目 ruby​​ 版本。可能bundle也在这里工作。

但我把它改成了以前的样子。

前任:

rbenv local 2.4.1
于 2018-05-25T09:33:52.783 回答