Сборка 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
,