Как мне отладить неудачную сборку ember-cli?

#ember.js #ember-cli

#ember.js #ember-cli

Вопрос:

У меня довольно старый ember-cli проект. Это Ember 3.5, но изначально он был создан из 2.x (и имеет некоторые bower компоненты). Раньше сборка и развертывание выполнялись нормально. Но теперь я запустил ее с чистого компьютера. Я ничего не изменил, кроме переустановки его зависимостей.

 npm install
./node_modules/bower/bin/bower install
./node_modules/ember-cli/bin/ember build -prod
  

После некоторой обработки я вижу следующую ошибку:

ajv.js: право собственности assignmentexpression ожидал, что узел будет иметь тип [«expression»], но вместо этого получил null

Я пытаюсь заблокировать некоторые версии (т. Е. удалить ~ и ^ из package.json номеров версий и запустить npm install снова), и я либо получаю ту же ошибку, либо что-то столь же неопределенное.

async.js: Объект свойства ожидаемого узла MemberExpression

Попытка того же с bower приводит к другим сообщениям об ошибках:

uglifier: неожиданный токен: punc (:)

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

Как я могу это отладить? Как я могу это исправить? Я думал, package-lock.json это сделано для предотвращения этого, но, думаю, я в любом случае в аду зависимостей. Возможно, это была проблема с bower.json ? Нет bower-lock.json .

Комментарии:

1. Вы подтвердили, что используете одну и ту же версию nodejs на обеих машинах?

2. Да, я специально использовал узел 8 вместо 10, потому что я использовал его изначально.

3. Похоже, что это ваши зависимости bower, которые изменились. Вы можете получить их копию с компьютера, который работал над просмотром?

4. Я действительно восстанавливал зависимости bower из старой резервной копии одну за другой, пока сборка больше не завершалась сбоем. Я полагаю, что зависимости bower сейчас устарели, но они продолжают использоваться в этом долгоживущем проекте. Если вы добавите свой комментарий в ответ с несколькими советами о том, как полностью избавиться от bower, я приму ваш ответ.