Я наткнулся на это во время переполнения стека.Это старый вопрос, но так как он помечен как открытый, я собираюсь дать ему шанс.
Я думаю, что это может быть проблемой, связанной с загрузкой Экземпляров Capistrano.
Я заметил, что этот синтаксис не работает в файлах production.rb и test.rb
set :deploy_to, "/var/www/mysite/live"
Но этот работает:
set(:deploy_to) { "/var/www/#{application}/live" }
Это тонкийразница, но я думаю, что на самом деле работает передача информации в виде блока Proc, тогда как первая передает ее в виде строки.У меня есть подлое подозрение, что к тому времени, когда появляется экземпляр Capistrano, этой строки уже нет.
Это будет означать, что у вас что-то не так в вашей загрузке или требуется порядок, так как вы сможете установить переменные развертывания в этих файлах.Если вы не можете понять это, вы можете обмануть и окружить deploy / production.rb или deploy / test.rb кодом
Capistrano::Configuration.instance.load do
# variables, etc here
end
Это определенно скажет вам, что этот файл не загружается в рамках экземпляра Capistrano.
Также второстепенный вопрос, но файлы должны быть в
config/deploy # relative to your Rails app
Не
/config/deploy/ # this is an absolute path off of your root folder
Удачи.Надеюсь, вы уже решили эту проблему!