Исправление аудита npm --force приводит к ошибке: путь к данным ".builders ['app-shell']" должен иметь обязательное свойство 'class' - PullRequest
2 голосов
/ 10 июня 2019

Я получил это сообщение после того, как установил пакет:

added 1 package from 8 contributors and audited 49729 packages in 23.754s
found 25 vulnerabilities (1 low, 24 high)
  run `npm audit fix` to fix them, or `npm audit` for details

Итак, я запустил npm audit fix, и он исправил некоторые уязвимости.

...
+ @angular-devkit/build-ng-packagr@0.800.2
+ @angular-devkit/build-angular@0.800.2
added 125 packages from 72 contributors, updated 8 packages and moved 16 packages in 65.005s
fixed 12 of 25 vulnerabilities in 49729 scanned packages
  3 package updates for 13 vulns involved breaking changes
  (use `npm audit fix --force` to install breaking changes; or refer to `npm audit` for steps to fix these manually)

Было предложено использовать аудит npmfix --force, я использовал его, и теперь, когда я пытаюсь запустить приложение Angular, он получает эту ошибку:

Schema validation failed with the following errors:
  Data path ".builders['app-shell']" should have required property 'class'.
Error: Schema validation failed with the following errors:

Что происходит, если я использую исправление аудита npm или игнорирую предупреждения.Как мне заставить мое приложение работать снова?

Оно показывает это сообщение после того, как я запустил принудительное исправление, но уже слишком поздно выполнил команду:

npm WARN using --force I sure hope you know what you are doing.

Установленные пакеты:

https://stackblitz.com/edit/typescript-uuubb8

1 Ответ

1 голос
/ 10 июня 2019

Всегда будьте осторожны с флагом --force.Это как выключить компьютер, вытянув кабель.По сути, вы «заставляете» NPM делать то, что вы хотите, даже если NPM знает, что ваше приложение будет аварийно завершено.

Чтобы исправить это, вы должны отменить изменения вручную.

Вытакже можно попробовать запустить npm update.Он обновит каждый пакет (но сделайте резервную копию вашего проекта раньше!).Может быть, этого достаточно, чтобы это исправить.

Если вам нужно исправить уязвимость в будущем, делайте это без флага --force.Если это не сработает, сделайте это вручную, запустив npm audit: он покажет вам детали проблемы, ничего не делая.

...