Сборка не удаётся из-за предупреждений о теме/версии после добавления плагина чата (не удаётся даже после удаления)

Что ж, только что решив одну проблему, я столкнулся с другой. У меня всё работало, и я хотел попробовать установить плагин Chat. Я добавил его в app.yml, выполнил пересборку и начал получать ошибки, связанные с темой:

Не удалось обновить 'Alternative Logos': about.json содержит недопустимые значения: Максимальная версия Discourse указана некорректно
rake aborted!
RemoteTheme::ImportError: about.json содержит недопустимые значения: Максимальная версия Discourse указана некорректно

А в конце сборки:

Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' завершилась с ошибкой: #<Process::Status: pid 3923 exit 1>
Место сбоя: /pups/lib/pups/exec_command.rb:112:in `spawn'
Выполнение не удалось с параметрами {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
138aba05ed797ec7542e030d05c988c19e0705c6f117f22a49144cc7ffa0c88c

Теперь я понимаю, что плагин Chat находится в стадии pre-alpha. Я публикую это здесь, вне категории Chat, потому что не думаю, что это обязательно проблема, связанная с чатом. Это также кажется почти точной копией уже сообщённой и решённой проблемы, которая, похоже, не связана с плагинами:

Я хотел бы ответить там, но тема закрыта. Моя проблема в целом та же, по крайней мере, что касается ошибок. Ошибки продолжают появляться даже после удаления плагина Chat из app.yml.

Пока что я ещё не выполнил шаги по устранению проблемы из упомянутой выше темы. Я публикую это сначала на случай, если это поможет выявить причины возникновения данной проблемы (и, возможно, предотвратить её повторное появление или вовсе исключить). Я не спешу с исправлением, поэтому, если это интересно кому-либо из CDCK, дайте знать. Я попробую применить исправления, описанные в указанной выше теме, сегодня вечером или завтра утром.

Отлично, проблема теперь решена. Я пересобрал систему ещё раз, получил похожие ошибки, но приложение всё же запустилось, и я смог зайти в стандартную панель администратора, удалить проблемные компоненты темы (в моём случае также фигурировал альтернативный логотип, о котором уже упоминалось в других темах), после чего финальная пересборка прошла без ошибок. Более того, после этого я даже смог установить плагин чата, так что, похоже, проблема с ним не связана.

Вот моё лучшее предположение о том, что произошло:

  • Я настроил Discourse на Digital Ocean, используя их стандартный образ Discourse.
  • Поскольку я мигрирую с другого хостинга, я сделал резервную копию существующего сайта Discourse.
  • В этой резервной копии были устаревшие темы и компоненты тем.
  • При восстановлении резервной копии на новый сервер процесс прошёл успешно.
  • Когда я попытался установить плагин чата, именно в этот момент при ручной пересборке начались проблемы.
  • Я удалил плагин (закомментировал его в app.yml) и попытался пересобрать, но ошибки продолжали появляться.
  • Я получил доступ к веб-панели администратора — либо случайно, либо просто благодаря большей терпеливости (см. ниже).
  • После удаления устаревших тем и компонентов тем и обновления остальных всё заработало.

Итак, что я, по-видимому, вынес из этого: компоненты тем с ошибками, даже (как кажется) с неверными значениями максимальной версии, могут нарушить работу Discourse, хотя бы частично. Жаль, что такая проблема вызывает столь значительный сбой. Но я подозреваю, что в этом процессе я также мог сделать некоторые неверные предположения, из-за чего казалось, что приложение просто не запустится без пересборки, тогда как на самом деле оно могло просто запускаться дольше обычного или что-то в этом роде. Это единственное объяснение того, почему оно, как казалось, запустилось сегодня при повторном посещении после пересборки, показавшей похожие/те же ошибки. Возможно, я просто не был достаточно терпелив, и Discourse не был так сильно сломан, как казалось…

По-прежнему пытаюсь разобраться в том, как Discourse размещается и управляется. Прошу прощения за мои периодические метания и путаницу. :face_savoring_food: