Estoy trabajando en el curso en el sitio web de NestJS. Necesito instalar class-validator y class-transformer npm i class-validator class-transformer
Pero cuando lo hago me sale error:
npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: '@angular-devkit/core@12.2.10', npm WARN EBADENGINE required: { npm WARN EBADENGINE node: '^12.14.1 || >=14.0.0', npm WARN EBADENGINE npm: '^6.11.0 || ^7.5.6', npm WARN EBADENGINE yarn: '>= 1.13.0' npm WARN EBADENGINE }, npm WARN EBADENGINE current: { node: 'v16.11.0', npm: '8.0.0' } npm WARN EBADENGINE } npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: '@angular-devkit/schematics@12.2.10', npm WARN EBADENGINE required: { npm WARN EBADENGINE node: '^12.14.1 || >=14.0.0', npm WARN EBADENGINE npm: '^6.11.0 || ^7.5.6', npm WARN EBADENGINE yarn: '>= 1.13.0' npm WARN EBADENGINE }, npm WARN EBADENGINE current: { node: 'v16.11.0', npm: '8.0.0' } npm WARN EBADENGINE } npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: '@angular-devkit/schematics-cli@12.2.10', npm WARN EBADENGINE required: { npm WARN EBADENGINE node: '^12.14.1 || >=14.0.0', npm WARN EBADENGINE npm: '^6.11.0 || ^7.5.6', npm WARN EBADENGINE yarn: '>= 1.13.0' npm WARN EBADENGINE }, npm WARN EBADENGINE current: { node: 'v16.11.0', npm: '8.0.0' } npm WARN EBADENGINE }No entiendo cómo arreglar esto.
NestJS y Angular parecen estar al tanto de este problema, ya que ha habido una breve discusión entre los 2 equipos en GitHub Memory . ¿Algo sobre la última versión de Angular que no es compatible con npm 8 o superior?
Pero parece que el equipo de Angular lanzó una solución para esto en el lanzamiento del 20 de octubre de 2021, hace 4 días.
Estoy usando Ubuntu 20.04
Nodo 16.11
npm 8
¿Qué debo hacer para resolver esto?
Actualizado el 18.11.2021:
NestJS actualizó las dependencias (en particular @nestjs/cli@8.1.5 ), por lo que ahora puede actualizar las dependencias de su proyecto (solo ejecute npm update ) y vuelva a usar npm@8 (solo ejecute npm install -g npm@8 ).
Respuesta original:
Sí, lo que debe hacer hoy es degradar npm a la versión 7. Para hacer esto, simplemente ejecute npm install -g npm@7 .
La compatibilidad con Npm v8 ya se ha agregado a angular ( https://github.com/angular/angular-cli/blob/master/CHANGELOG.md#12211-2021-10-20 ), pero aún estamos esperando que NestJS se actualice las dependencias Tan pronto como eso suceda, debería poder volver a npm v8 ejecutando npm i -g npm@8 .