Ошибка сборки Multisite: #<MiniRacer::RuntimeError: Error: Parser rule not found: fragments_join>

Хм, интересно, давайте посмотрим:

`yarn why`
❯ yarn why markdown-it
yarn why v1.22.10
[1/4] 🤔  Почему у нас есть модуль "markdown-it"...?
[2/4] 🚚  Инициализация графа зависимостей...
[3/4] 🔍  Поиск зависимости...
[4/4] 🚡  Вычисление размеров файлов...
=> Найден "markdown-it@13.0.1"
info Причины существования этого модуля
   - "_project_#discourse" зависит от него
   - Поднят из "_project_#discourse#markdown-it"
info Размер на диске без зависимостей: "732KB"
info Размер на диске с уникальными зависимостями: "1.31MB"
info Размер на диске с транзитивными зависимостями: "1.31MB"
info Количество общих зависимостей: 5
=> Найден "ember-cli#markdown-it@12.0.4"
info Этот модуль существует, потому что "_project_#discourse#ember-cli" зависит от него.
info Размер на диске без зависимостей: "724KB"
info Размер на диске с уникальными зависимостями: "1.3MB"
info Размер на диске с транзитивными зависимостями: "1.3MB"
info Количество общих зависимостей: 5
=> Найден "markdown-it-terminal#markdown-it@8.4.2"
info Этот модуль существует, потому что "_project_#discourse#ember-cli#markdown-it-terminal" зависит от него.
info Размер на диске без зависимостей: "708KB"
info Размер на диске с уникальными зависимостями: "1.29MB"
info Размер на диске с транзитивными зависимостями: "1.29MB"
info Количество общих зависимостей: 5
✨  Готово за 0.39с.

Итак, package.json проекта Discourse запрашивает версию 13.0.1, собственный package.json ember-cli запрашивает 12.0.4, а markdown-it-terminal требует 8.4.2.

В любом случае, в теории всё это должно быть невидимым. Сам Discourse запрашивает версию 13.0.1, поэтому версия в app/assets/javascripts/node_modules/markdown-it должна быть 13.0.1. Другие более старые версии будут доступны для их соответствующих родителей.

Учитывая, что мы не наблюдаем этого во внутренней среде, и это происходит только у людей с нестандартной установкой, я подозреваю, что где-то в шаблонах двухконтейнерной настройки отсутствует команда yarn install, из-за чего контейнер базы данных запускается с кэшированной версией markdown-it из базового образа :eyes:

1 лайк