Обновите Angular 6 до 7 - предупреждение о зависимости и ошибка машинописи - PullRequest
0 голосов
/ 24 октября 2018

Я использовал эту ссылку для обновления моего простого углового интерфейса до Angular 7:

Обновление до Angular 7

При обновлении я получил несколько предупреждений для package.json иФайлы polyfills.ts:

UPDATE package.json (1313 bytes)
npm WARN @ngtools/webpack@6.1.5 requires a peer of typescript@~2.4.0 || ~2.5.0 || ~2.6.0 || ~2.7.0 || ~2.8.0 || ~2.9.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/compiler@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/core@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/platform-browser-dynamic@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/platform-browser@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/common@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

added 69 packages, removed 4 packages, updated 16 packages and moved 2 packages in 43.395s
UPDATE package.json (1315 bytes)
UPDATE src/polyfills.ts (3165 bytes)
npm WARN codelyzer@4.2.1 requires a peer of @angular/compiler@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/core@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/platform-browser-dynamic@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/platform-browser@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/common@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

И у меня также есть эта ошибка из машинописного текста (3.0.1):

Error:Initialization error (angular 2 language service). Cannot read property 'CommandTypes' of undefined

Может кто-нибудь предложить обходной путь, как исправить эти предупреждения о зависимостях и машинописный текстошибка?Нужно ли менять зависимости вручную?Если да, мне нужен пример, как ...

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Проблема в том, что у вас нет последней версии для этих двух пакетов.

  1. Вам необходимо обновить пакет Codelyzer до последней версии.ng update --all должен сделать это, в противном случае вы также можете отредактировать package.json вручную.

Вы можете увидеть здесь , что последняя версия (4.5.0) этого пакетасовместим с Angular 7, поэтому вам нужно использовать его вместо версии 4.2.1.

То же самое для вашего @ngtools/webpack, вам нужно использовать последнюю версию (см. здесь , это 7.0.2).Вероятно, у вас нет этого явно в вашем package.json, так что вам, возможно, просто нужно сделать npm cache clean -f перед запуском ng update.

Если это все еще не работает, Я предлагаю вам удалить директорию node_modules, это заставит npm install пересобрать все из последних версий в хранилище, если вы правильно обновили package.json (вручную или через ng update).

0 голосов
/ 24 октября 2018

Вы удалили старую папку node_modules?если нет, удалите его, а также удалите package-lock.json, если он там есть.очистите кэш npm npm cache clean -f и попробуйте установить все пакеты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...