问题是我想从控制台获取我的 Capistrano 配方的参数,所以在查看谷歌后我想出了这个:
task :set_repo do
set :repository, "git@github.com:#{configuration[:repo]}/MyApp.git"
set :scm_user, configuration[:repo]
end
尝试运行任务时,我为配置散列提出了“缺少方法”错误。在 Google 上再次搜索后,我发现我必须从 Capistrano 加载配置,所以我添加了以下代码:
configuration = Capistrano::Configuration.respond_to?(:instance) ?
Capistrano::Configuration.instance(true) :
Capistrano.configuration(:must_exist)
但这会引发 LoadError 并显示消息“请从 Capistrano 配方中要求此文件”。我试过要求 capistrano/configuration 模块,但我一直收到同样的错误。
任何帮助是极大的赞赏。