Подтвердить что ты не робот

Rails 4.1 не может развертываться через capistrano 3

У меня очень странная ошибка при развертывании моего приложения rails с capistrano. иногда он развертывается, а иногда и нет. например, я добавляю что-то в css (только одна строка), например. .my_some_class{width:10px} и после этого развертывание завершается с ошибкой. прежде чем я добавлю это - он развернется нормально. Я уверен, что ничего другого не изменилось, потому что я делаю экспериментальное коммитирование, содержащее только одну строку css. my config:

rails 4.1.0
ruby 2.1.1p76

gem 'capistrano-rails', group: :development
gem 'capistrano-rvm', group: :development
gem 'capistrano-bundler', group: :development

конец журнала развертывания:

Tasks: TOP => deploy:assets:precompile
(See full trace by running task with --trace)
The deploy has failed with an error: #<SSHKit::Command::Failed: rake exit status: 137
rake stdout: Nothing written
rake stderr: SafeYAML Warning
  ----------------

  You appear to have an outdated version of libyaml (0.1.4) installed on your system.

  Prior to 0.1.6, libyaml is vulnerable to a heap overflow exploit from malicious YAML payloads.

  For more info, see:
  https://www.ruby-lang.org/en/news/2014/03/29/heap-overflow-in-yaml-uri-escape-parsing-cve-2014-2525/

  The easiest thing to do right now is probably to update Psych to the latest version and enable
  the 'bundled-libyaml' option, which will install a vendored libyaml with the vulnerability patched:

  gem install psych -- --enable-bundled-libyaml



I, [2014-04-30T09:42:41.121037 #12193]  INFO -- : Writing /var/www/default/releases/20140430134522/public/assets/Thumbs-82e32ea0cc1ce375db2805ceadd707ef.db
I, [2014-04-30T09:42:41.123108 #12193]  INFO -- : Writing /var/www/default/releases/20140430134522/public/assets/agency_no_logo-a8544e60b8a38abeb431c2eb5089f7c6.png
I, [2014-04-30T09:42:41.461121 #12193]  INFO -- : Writing /var/www/default/releases/20140430134522/public/assets/swipebox/img/loader-a66dde050b0b2447862919f2c4c37eda.gif

bash: line 1: 12193 Killed                  ( RAILS_ENV=production ~/.rvm/bin/rvm default do bundle exec rake assets:precompile )
4b9b3361

Ответ 1

Как было написано выше, возможно, у вас недостаточно ОЗУ.

Я решил проблему, добавив файл SWAP на моем сервере Ubuntu 14.04:

В root:

dd if=/dev/zero of=/swapfile bs=1024 count=512k
mkswap /swapfile
swapon /swapfile

Добавьте следующую строку в /etc/fstab:

 /swapfile       none    swap    sw      0       0 

и

echo 0 > /proc/sys/vm/swappiness
sudo chown root:root /swapfile 
sudo chmod 0600 /swapfile

проверить SWAP (возможно, нужно перезагрузить):

swapon -s 

- Как добавить Swap на Ubuntu 14.04 @Digital Ocean Community

Ответ 2

Если у кого-то такая же ошибка - проблема была на хостинге. серверу недостаточно ram(512mb), и процесс компиляции css/js был убит каждый раз. чем мы меняем тарифный план, который имеет 1gb RAM, все успешно развернуты. SO, если вы прекомпилировали активы, просто попробуйте добавить некоторые ресурсы на сервер. Постскриптум аналогичная проблема, которую я нашел здесь Капистрано развертывание - предикация активов

Ответ 3

Попробуйте перезагрузить сервер. Работайте для меня.

Ответ 4

У вас, похоже, устаревшая версия libyaml

Обновить libyaml.