NPM-AUDIT odnajduje wysokie podatności. Co powinienem zrobić?


13

npm audit uruchom mój projekt i dostałem to

High Injection
Dependency of @ angular-devkit / build-angular [dev]

Ścieżka @ angular-devkit / build-angular> @ ngtools / webpack> tree-kill

Więcej informacji https://npmjs.com/advisories/1432

Zastrzyk z rozkazami

Zabij drzewa

Łata> = 1.2.2

Zależność @ angular-devkit / build-angular [dev]

Ścieżka @ angular-devkit / build-angular> tree-kill

Więcej informacji https://npmjs.com/advisories/1432

Zabijanie drzew musi zostać zaktualizowane, ale jest depresją kątową, a nie moją. Więc co? Chcesz poczekać, aż zespół Angular zaktualizuje swój własny pakiet.json do nowszej wersji Tree-Kill?

Odpowiedzi:


11

Możesz to naprawić bez czekania na nową wersję pakietu @angular-devkit/build-angular.

Wykonaj następujące kroki:

  1. Zaktualizuj package.jsonplik, dodając resolutionssekcję z odpowiednią wersją pakietu tree-kill:
"resolutions": {
  "tree-kill": "1.2.2"
}
  1. Zaktualizuj package-lock.json, uruchamiając polecenie:
npx npm-force-resolutions
  1. Ponownie zainstaluj pakiety NPM w swoim projekcie:
rm -r node_modules
npm install

Uruchom, npm auditaby sprawdzić, czy Twój projekt nie ma już tego problemu. I nie zapomnij zatwierdzić zmodyfikowanych plików package.jsoni package-lock.json.

Więcej informacji na temat rozdzielczości siły NPM .


11

Miałem dzisiaj ten sam problem i naprawiłem go przez:

  1. usuń pakiet „zabijaj drzewa” z folderu node_modules.
  2. usuń plik package-lock.json.
  3. przejdź do folderu @ angular-devkit / build-angular w folderze node_modules i edytuj plik package.json; zmień wersję „zabijaj drzewa” z 1.2.1 na 1.2.2
  4. przejdź do folderu @ ngtools / webpack w folderze node_modules i zrób to samo, co w kroku 3.

następnie uruchom npm install.


1
Więc dzięki tej poprawce muszę zachować folder node_modules w Git, prawda?
Loki

Nie jestem pewien, czy dobrze zrozumiałem twoje pytanie, ale musisz wprowadzić nowe zmiany po nowej instalacji.
saleem

1
edytuj ręcznie twoje zależności nie są dobrym pomysłem, ponieważ wykonanie nowej instalacji projektu będzie stanowić problem
Nemus

2

Właśnie miałem ten problem i po kilku badaniach znalazłem coś:

NPM zgłasza błąd przy „poprawce audytu” - skonfigurowany rejestr nie jest obsługiwany

Oczywiście chodzi o inny problem, ale dostosowując podane tam rozwiązanie, rozwiązało mój problem.

Więc :

  • Usuń folder node_modules z drzewa-kill
  • Zmodyfikuj plik package-lock.json tak, jak to zrobiono, ale zamiast tego użyj modułu „kill-tree”.
  • Nie zapomnij uruchomić instalacji npm na końcu

Mam nadzieję, że byłem wystarczająco jasny.


Jak mogę edytować plik package-lock.json w drugim kroku, jeśli miałby zostać usunięty podczas usuwania folderu node_modules z drzewa-kill w kroku 1?
Mauricio Martinez


0
  1. Usuń pakiet „zabijaj drzewa” z folderu node_modules i usuń
    plik package-lock.json.

  2. Znajdź folder @ angular-devkit / build-angular w folderze node_modules i edytuj plik package.json; zmień wersję „zabijaj drzewa” z 1.2.1 na 1.2.2
    Znajdź @ ngtools / webpack w folderze node_modules i edytuj plik package.json; zmień wersję „zabijaj drzewa” z 1.2.1 na 1.2.2

  3. uruchom npm install.

0

Dodaj poniższy kod do package.json

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

Usuń wszystkie moduły węzłów:

rm -r node_modules

Zaktualizuj pakiet-lock.json dla nowej wersji 1.2.2 jako:

npx npm-force-resolutions

Teraz zainstaluj moduły węzłów:

npm install

To działa dla mnie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.