145 votes

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY : Plate-forme non supportée pour fsevents

J'essaie d'exécuter ce projet . Après la mise à jour minimatch à la version 3.10.9, j'obtiens l'erreur suivante :

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\webpack\node_modules\watchpack\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.0.14: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"ia32"})

Ma configuration :

Node v - 4.4.2
npm v - 3.10.9
32 bit windows OS

1 votes

Cela ne ressemble pas à une erreur pour moi - avez-vous des difficultés à exécuter le code malgré cela ? npm WARN n'est que cela - un avertissement auquel il pourrait être utile de prêter attention, mais qui ne casse rien.

2 votes

Cet avertissement particulier vous indique simplement qu'une dépendance optionnelle n'a pas été installée parce que votre plate-forme ne correspondait pas à ses exigences. Dans ce cas, il recherche darwin et vous êtes sur win32

0 votes

C'est un projet grunt, après avoir exécuté cette commande "npm install -g grunt-cli", j'essaie d'exécuter npm install quand j'obtiens cet avertissement,

176voto

piotr.d Points 335

C'est un avertissement, pas une erreur. Il se produit parce que fsevents est une dépendance facultative, utilisée uniquement lorsque le projet est exécuté dans l'environnement macOS (le paquet fournit un 'accès natif aux événements FSE de Mac OS-X').

Et puisque vous exécutez votre projet sur Windows, fsevents est ignoré car non pertinent.

Il y a un PR pour corriger ce comportement ici : https://github.com/npm/cli/pull/169

44 votes

Une chose qui est facultative et dépendante ne se contredit-elle pas elle-même ?

8 votes

Il s'agit plutôt d'une question théorique. Peut-être que conditional dependency serait mieux ? Il est difficile de donner un nom. Je suppose qu'il n'a pas été facile de trouver un bon nom pour ce cas tout en le gardant concis.

2 votes

Absolument. La chose la plus difficile dans le développement de SW. Mais s'il s'agissait d'une dépendance conditionnelle, il serait logique que si la condition n'était pas remplie, l'avertissement ne soit pas généré comme il l'est actuellement.

38voto

nickl- Points 1772

Cela semble toujours être un problème, provoquant l'interruption de l'installation des paquets avec des avertissements sur les paquets optionnels qui ne sont pas installés à cause de "Unsupported platform".

Le problème concerne le "shrinkwrap" ou package-lock.json qui est conservé après chaque exécution du gestionnaire de paquets. Les tentatives ultérieures continuent d'échouer car ce fichier est référencé au lieu de package.json .

L'ajout de ces options au npm install devrait permettre aux paquets de s'installer à nouveau.

   --no-optional argument will prevent optional dependencies from being installed.

   --no-shrinkwrap argument, which will ignore an available package lock or
                   shrinkwrap file and use the package.json instead.

   --no-package-lock argument will prevent npm from creating a package-lock.json file.

La commande complète ressemble à ceci :

    npm install --no-optional --no-shrinkwrap --no-package-lock

nJoy !

2 votes

Est-il risqué de fixer le --no-optional -Un drapeau pour un code qui fonctionne juste pour se débarrasser de l'avertissement ? Pourquoi n'est-il pas activé par défaut ?

10 votes

Cela ne peut pas être une solution puisque l'utilisation de package-lock.json est une bonne chose et que cette solution suggère le contraire.

0 votes

@ismailarilik Cette solution me permet d'installer des paquets pour que je puisse continuer mon travail.

22voto

Jeff.Dev Points 331

Utilisation du paramètre --force :

npm i -f

13voto

GeraldScott Points 423

Ceci a été enregistré comme un problème NPM : https://github.com/npm/npm/issues/14042

1voto

S Jade Points 470

Plate-forme non supportée pour fsevents

La meilleure solution actuelle est mise à jour de votre version de npm qui n'aura pas cet avertissement.

Si vous utilisez une machine Windows, une façon simple de mettre à jour est d'utiliser l'outil Mise à jour de npm sous Windows .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X