У меня была ошибка failed: "sh -c 'cd /var/www
. Затем исправили это, добавив следующее в deploy.rb ...
set :default_environment, {
'PATH' => "/var/lib/gems/1.9.1/bin:$PATH"
}
Теперь я получаю эту новую ошибку.
** [out :: ip.address] Rails Error: Unable to access log file. Please ensure that /var/www/releases/20111208152807/log/production.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
** [out :: ip.address] mkdir -p /var/www/releases/20111208152807/public/assets
** [out :: ip.address] mkdir -p /var/www/releases/20111208152807/public/assets
** [out :: ip.address] mkdir -p /var/www/releases/20111208152807/public/assets
** [out :: ip.address]
** [out :: ip.address] mkdir -p /var/www/releases/20111208152807/public/assets
** [out :: ip.address] mkdir -p /var/www/releases/20111208152807/public/assets
** [out :: ip.address]
** [out :: ip.address] rake aborted!
** [out :: ip.address]
** [out :: ip.address] Permission denied - /var/www/releases/20111208152807/public/assets/manifest.yml
Итак, я проверил разрешения для manifest.yml и production.log с помощью ls -lha и, да, они принадлежат root.
Развертывание capistrano выполняется пользователем linux (не root), которому принадлежит каталог / var / www . Я предполагаю, что это потому, что любая команда, создающая эти файлы, дает им право root.
ПОЯСНЕНИЯ :
Я знаю, что, вероятно, простое развертывание с использованием root решит проблему, но я не хочу использовать root.