Ошибка установки npm после обновления до Angular 6 - PullRequest
0 голосов
/ 04 мая 2018

Я обновляю Угловой 5 до Угловой 6 с ng upgrade, и произошла ошибка ниже. Я удалил node_modules и package-lock.json и снова выполнил npm install, но ошибка та же:

TypeError: ts.formatting.RulesProvider is not a constructor
    at getRuleProvider (C:\Users\MarçalGómez\Documents\WebApp\node_modules\typescript-formatter\lib\formatter.ts:22:28)
    at Object.format [as default] (C:\Users\MarçalGómez\Documents\WebApp\node_modules\typescript-formatter\lib\formatter.ts:14:67)
    at C:\Users\MarçalGómez\Documents\WebApp\node_modules\typescript-formatter\lib\index.ts:172:42
    at <anonymous>
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! default@0.0.0 tsformat: `tsfmt -r`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the default@0.0.0 tsformat script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\MarçalGómez\AppData\Roaming\npm-cache\_logs\2018-05-04T15_27_51_987Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! default@0.0.0 postinstall: `npm run tsformat`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the default@0.0.0 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\MarçalGómez\AppData\Roaming\npm-cache\_logs\2018-05-04T15_27_52_026Z-debug.log

Есть идеи? Я также безуспешно пытался обновить npm.

Спасибо

Ответы [ 3 ]

0 голосов
/ 03 июня 2018

Есть пара других, которые также нужно исправить.

Проверьте перечисленные ниже шаги, чтобы плавно перейти с Angular 5 на Angular 6. В них подробно описываются проблемы, с которыми вы сталкиваетесь во время обновления, и способы их решения.

  • Обновите версию своего узла до 8 или выше и установите Angular cli последней глобально по npm я -g @ angular / cli @ latest.
  • Angular 6 использует angular.json в качестве файла конфигурации вместо .anguar-cli.json. Также был изменен цлинт. Проверьте https://github.com/angular/angular-cli/wiki/angular-workspace для последние детали конфигурации. Вы должны переместить любой из ваших существующих Конфигурация в новый файл конфигурации.
  • Для этого создайте другой фиктивный проект с последним кликом, использующим ng new 'your-project' и такой же значения по умолчанию, такие как префикс, стиль и т. д., которые вы использовали ранее для своего проекта. Создать новый проект с кли https://github.com/angular/angular-cli/wiki/new
  • Использование https://update.angular.io/ чтобы проверить, что было изменено с вашего текущая версия Angular → Angular 6. Он предоставляет использование того, как изменить / исправить их.
  • Выполните действия, описанные выше, и скопируйте / обновите файл angular.json, созданный в шаге 2. Сделай npm я в своем проекте, чтобы получить все зависимости и делай npm update
  • Теперь самое главное. RxJS обновить и разрешить конфликты. RxJS стандартизировал импорт операторы и наблюдаемые создатели с этим выпуском. До нпм я -г rxjs-tslint и добавьте ниже конфигурацию lint в tslint.json
{
  "rulesDirectory": [
    "node_modules/rxjs-tslint"
  ],
  "rules": {
    "rxjs-collapse-imports": true,
    "rxjs-pipeable-operators-only": true,
    "rxjs-no-static-observable-methods": true,
    "rxjs-proper-imports": true
  }
}
  • Теперь запустите ng lint --fix. Это исправляет несколько пунктов, но большинство оставшихся проблем будут выделены, и вам придется исправить это вручную.

Смена имени оператора:

do -> tap, 
catch -> catchError, 
switch -> switchAll, 
finally -> finalize

Все операторы перемещены в rxjs / operator

import { map, filter, reduce } from 'rxjs/operators';

Наблюдаемые методы создания перемещены в rxjs

   import { Observable, Subject, of, from } from 'rxjs'; 

Все готово. Добро пожаловать в Angular 6:) Проверьте мой блог здесь о том, как обновить

0 голосов
/ 26 июля 2018

Я столкнулся с той же проблемой, следуя этому руководству, чтобы перейти от углового 5 к 6 https://update.angular.io/

В частности, у меня была та же ошибка в момент, когда я должен был выполнить

ng update @angular/material

Я исправил это удаление и переустановка typcript-formatter. Это привело к удалению и переустановке zone.js и rxjs, это нормально.

Мой package.json раньше выглядел так:

...
"rxjs": "^5.5.6",
"typescript-formatter": "^5.2.0",
"zone.js": "^0.8.19"
...

и теперь выглядит так:

...
"rxjs": "^6.2.2",
"typescript-formatter": "^7.2.2",
"zone.js": "^0.8.26"
...

И все идет гладко

0 голосов
/ 07 мая 2018

Я решил свою проблему, удалив параметры postinstall и tsformat из package.json

Эти параметры отсутствуют в новых проектах, созданных cli, поэтому я удалил их, и теперь они работают нормально.

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