Сборка Heroku завершается успешно, но развертывание не выполняется (без изменения кода)

Я получаю следующую ошибку в LogDNA:

(node:28) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Cannot find module '/tmp/build_[long-hash]/my-project-[long-hash]/node_modules/bluebird'
Process exited with status 0
State changed from starting to crashed

Эта строка содержит импорт Bluebird. Когда я удаляю зависимость и удаляю строку, я получаю ту же ошибку, за исключением того, что она ссылается на следующую строку (которая также является импортом зависимости).

При развертывании ветки, которая ранее работала, я получаю ту же ошибку. Конечно, я не могу повторно про эту проблему на месте.

Я сравнил список npm Dyno с моими местными, и они одинаковы. Кроме того, все ожидаемые node_modules, фактически, присутствуют в файловой системе Dyno.

Если я использую Heroku-bash, запускаю задачу сборки вручную (ничего особенного), а затем развертываю, это нормально.

1 ответ

Решение

Мы жестко запрограммировали / исправили версию Electrode, от которой мы зависели, но у Electrode есть нечеткая версия для WebPack, которая выпустила новую версию 5 дней назад, которая вызвала эту ошибку. Это приводит к тому, что пути импорта неправильно разрешаются / переносятся в каталог сборки, а не остаются относительными.

Обходной путь должен использовать require() вместо import,

Другие вопросы по тегам