#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, я приму ваш ответ.