NPM-AUDIT encuentra grandes vulnerabilidades. ¿Que se supone que haga?

13

npm audit ejecutar en mi proyecto y me consiguió esto

Alta
dependencia de inyección de comando de @ angular-devkit / build-angular [dev]

Ruta @ angular-devkit / build-angular> @ ngtools / webpack> tree-kill

Más información https://npmjs.com/advisories/1432

Inyección de alto mando

Paquete árbol-kill

Parcheado en> = 1.2.2

Dependencia de @ angular-devkit / build-angular [dev]

Ruta @ angular-devkit / build-angular> tree-kill

Más información https://npmjs.com/advisories/1432

Tree-kill necesita ser actualizado, pero es una solución angular, no mía. ¿Y qué? ¿Necesita esperar que angular-team actualice su propio package.json a una versión más nueva de tree-kill?

Nemus
fuente

Respuestas:

11

Puede solucionar esto sin esperar una nueva versión del paquete @angular-devkit/build-angular.

Solo haz los siguientes pasos:

  1. Actualice su package.jsonarchivo agregando una resolutionssección con la versión adecuada del paquete tree-kill:
"resolutions": {
  "tree-kill": "1.2.2"
}
  1. Actualice su package-lock.jsonejecutando el comando:
npx npm-force-resolutions
  1. Vuelva a instalar los paquetes de NPM en su proyecto:
rm -r node_modules
npm install

Ejecute npm auditpara verificar que su proyecto ya no tenga este problema. Y no olvide confirmar archivos modificados package.jsony package-lock.json.

Más información sobre las Resoluciones de Fuerza NPM .

Yuri Beliakov
fuente
11

Hoy tenía el mismo problema y lo solucioné:

  1. elimine el paquete tree-kill de la carpeta node_modules.
  2. elimine el archivo package-lock.json.
  3. vaya a la carpeta @ angular-devkit / build-angular en la carpeta node_modules y edite el archivo package.json; cambiar la versión de árbol de matar de 1.2.1 a 1.2.2
  4. vaya a la carpeta @ ngtools / webpack en la carpeta node_modules y haga lo mismo que en el paso 3.

ejecuta npm install después de eso.

saleem
fuente
1
Entonces, con esta solución, tengo que mantener la carpeta node_modules con Git ¿verdad?
Loki
No estoy seguro de haber respondido bien su pregunta, pero debe confirmar los nuevos cambios después de la nueva instalación.
Saleem
1
editar manualmente sus dependencias no es una buena idea, ya que hacer una nueva instalación del proyecto representará el problema
Nemus
2

También tuve este problema y después de algunas investigaciones, encontré algo:

NPM arroja un error en la "corrección de auditoría": el registro configurado no es compatible

Por supuesto, se trata de otro problema, pero al adaptar la solución dada allí, resolvió mi problema.

Entonces :

  • Eliminar la carpeta node_modules de tree-kill
  • Edite el archivo package-lock.json como está hecho, pero con el módulo tree-kill en su lugar.
  • No olvides ejecutar npm install al final

Espero haber sido lo suficientemente claro.

archelita
fuente
¿Cómo podría editar el paquete-lock.json en el segundo paso si se suponía que se eliminaría al eliminar la carpeta node_modules de tree-kill en el paso 1?
Mauricio Martinez
0
  1. Elimine el paquete tree-kill de la carpeta node_modules y
    elimine el archivo package-lock.json.

  2. Busque la carpeta @ angular-devkit / build-angular en la carpeta node_modules y edite el archivo package.json; cambie la versión de tree-kill de 1.2.1 a 1.2.2
    Busque @ ngtools / webpack en la carpeta node_modules y edite el archivo package.json; cambiar la versión de árbol de matar de 1.2.1 a 1.2.2

  3. ejecuta npm install.
sam0606
fuente
0

Agregue el siguiente código a package.json

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

Eliminar todos los módulos de nodo:

rm -r node_modules

Actualice package-lock.json para la nueva versión 1.2.2 como:

npx npm-force-resolutions

Ahora instale módulos de nodo:

npm install

Esto funciona para mi.

rohit
fuente