Estoy tratando de ejecutar este proyecto https://github.com/Soundnode/soundnode-app después de actualizar mi versión minimatch a 3.10.9, recibo este error
npm WARN opcional SALTANDO DEPENDENCIA OPCIONAL: fsevents@^1.0.0 (node_modules \ webpack \ node_modules \ watchpack \ node_modules \ chokidar \ node_modules \ fsevents): npm WARN notsup SALTANDO DEPENDENCIA OPCIONAL: Plataforma no admitida para fsevents {1.0: os ":" darwin "," arch ":" any "} (actual: {" os ":" win32 "," arch ":" ia32 "})
mi configuración es Nodo v - 4.4.2 npm v- 3.10.9 Estoy trabajando en el sistema operativo Windows de 32 bits
npm WARN
es solo eso: una advertencia a la que valdría la pena prestar atención, pero que en realidad no rompió nada.Respuestas:
Es una advertencia, no un error. Ocurre porque
fsevents
es una dependencia opcional, que se usa solo cuando el proyecto se ejecuta en un entorno macOS (el paquete proporciona 'Acceso nativo a Mac OS-X FSEvents').Y dado que está ejecutando su proyecto en Windows,
fsevents
se omite como irrelevante.Hay un PR para corregir este comportamiento aquí: https://github.com/npm/cli/pull/169
fuente
conditional dependency
sería mejor? Nombrar es difícil. Supongo que no fue fácil encontrar un buen nombre para este caso sin dejar de ser conciso.Esto todavía parece ser un problema, lo que hace que la instalación de paquetes se cancele con advertencias de que los paquetes opcionales no se instalan debido a una "plataforma no compatible".
El problema se relaciona con el "shrinkwrap" o
package-lock.json
que persiste después de cada ejecución del administrador de paquetes. Los intentos posteriores siguen fallando ya que se hace referencia a este archivo en lugar depackage.json
.Agregar estas opciones al
npm install
comando debería permitir que los paquetes se instalen nuevamente.El comando completo se ve así:
nJoy!
fuente
--no-optional
bandera para el código que funciona solo para eliminar la advertencia? ¿Por qué no está configurado de forma predeterminada?npm install -f
: github.com/angular/angular/issues/13935Usando el parámetro --force:
fuente
npm install
, no tengo ninguna advertencia, ¡gracias!