NPM-AUDIT виявляє високі вразливості. Що я повинен робити?


13

npm audit побіжи на мій проект і отримав мені це


Залежність введення високих команд @ angular-devkit / build-angular [dev]

Шлях @ angular-devkit / build-angular> @ ngtools / webpack> tree-kill

Детальніше https://npmjs.com/advisories/1432

Введення високих команд

Упакуйте дерево-убийте

Виправлено> = 1.2.2

Залежність @ angular-devkit / build-angular [dev]

Шлях @ angular-devkit / build-angular> tree-kill

Детальніше https://npmjs.com/advisories/1432

Деревоубивання потрібно оновити, але це зображення кутового, а не мого. І що? Потрібно зачекати, коли angular-team оновить власний package.json до нової версії дерева-kill?

Відповіді:


11

Ви можете виправити це, не чекаючи нової версії пакета @angular-devkit/build-angular.

Просто виконайте наступні дії:

  1. Оновіть package.jsonфайл, додавши resolutionsрозділ із належною версією пакета tree-kill:
"resolutions": {
  "tree-kill": "1.2.2"
}
  1. Оновіть свою package-lock.jsonкоманду, запустивши команду:
npx npm-force-resolutions
  1. Перевстановіть пакети NPM у своєму проекті:
rm -r node_modules
npm install

Запустіть, npm auditщоб перевірити, чи не є у вашому проекті більше цієї проблеми. І не забудьте скористатися зміненими файлами package.jsonта package-lock.json.

Більше інформації про силові резолюції NPM .


11

У мене була та сама проблема сьогодні, і я вирішив її:

  1. видаліть пакунок дерева-kill із папки node_modules.
  2. видаліть файл package-lock.json.
  3. перейдіть до папки @ angular-devkit / build-angular у папці node_modules та відредагуйте файл package.json; змінити версію дерева-kill з 1.2.1 на 1.2.2
  4. перейдіть у папку @ ngtools / webpack у папці node_modules і виконайте те ж саме, що і на кроці 3.

запустити npm встановити після цього.


1
Отже, за допомогою цього виправлення я повинен зберігати папку node_modules з Git?
Локі

Я не впевнений, чи правильно я поставив ваше запитання, але вам потрібно зробити нові зміни після нової установки.
saleem

1
редагувати вручну ваші залежності - це не дуже гарна ідея, оскільки нова установка проекту буде представляти проблему
Nemus

2

У мене теж була ця проблема, і після деяких досліджень я щось знайшов:

NPM кидає помилку на "виправлення аудиту" - Налаштований реєстр не підтримується

Звичайно, мова йде про іншу проблему, але, адаптувавши рішення, яке там надано, воно вирішило мою проблему.

Тому :

  • Видаліть папку node_modules з дерева-kill
  • Відредагуйте файл package-lock.json так, як це робиться, але замість нього використовується модуль-дерева.
  • Не забудьте запустити npm install наприкінці

Я сподіваюся, що я був досить зрозумілий.


Як я можу редагувати package-lock.json на другому кроці, якщо його потрібно було видалити при видаленні папки node_modules дерева-kill на кроці 1?
Маурісіо Мартінес


0
  1. Видаліть пакунок дерева-убиття з папки node_modules та видаліть
    файл package-lock.json.

  2. Знайдіть папку @ angular-devkit / build-angular у папці node_modules та відредагуйте файл package.json; змінити версію дерева-kill з 1.2.1 на 1.2.2
    Знайти @ ngtools / webpack у папці node_modules та відредагувати файл package.json; змінити версію дерева-kill з 1.2.1 на 1.2.2

  3. запустити npm install.

0

Додайте нижче код до package.json

"resolutions": {
"tree-kill":"1.2.2"
}

Видаліть усі модулі вузлів:

rm -r node_modules

Оновіть package-lock.json для нової версії 1.2.2 як:

npx npm-force-resolutions

Тепер встановіть модулі вузлів:

npm install

Це працює для мене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.