Я переношу приложение Rails, которое я создал несколько лет назад и долгое время не развертывал его на новый сервер. В то время я использовал capistrano без проблем, и теперь, когда я запускаю cap deploy, я получаю следующий шаг:
* executing "ls -1 /home/deploy/mywebsite.com/shared/assets/.sprockets-manifest* | wc -l"
servers: ["45.79.142.32"]
[45.79.142.32] executing command
command finished in 727ms
* executing "ls /home/deploy/mywebsite.com/shared/assets/.sprockets-manifest*"
servers: ["45.79.142.32"]
[45.79.142.32] executing command
command finished in 783ms
*** [deploy:update_code] rolling back
* executing "rm -rf /home/deploy/mywebsite.com/releases/20150812101128; true"
servers: ["45.79.142.32"]
[45.79.142.32] executing command
command finished in 944ms
failed: "rvm_path=/home/deploy/.rvm /home/deploy/.rvm/bin/rvm-shell 'ruby-2.2.2' -c 'ls /home/deploy/mywebsite.com/shared/assets/.sprockets-manifest*'" on 45.79.142.32
Я читал в нескольких местах о том, что sprockets меняет имя или тип файла манифеста (с .sprockets-manifest на .manifest или что-то в этом роде), но я понятия не имею, как это решить, чтобы это не было хаком. Я не уверен, что это связано с использованием старой версии Rails или что-то в этом роде. Это версии, которые я использую:
- Руби 2.2.2
- Рельсы 3.2.14
- Capistrano 2.15.6 (с Rvm/capistrano)
- Звездочки 2.2.1