npm WARN XX requires a peer of XX but none is installed : comment résoudre l'erreur ?

Lorsque vous installez une librairie avec le gestionnaire de paquets NPM, celui-ci récupère également les autres librairies dont dépend la librairie souhaitée. Et si ces nouvelles librairies ont elles-mêmes des dépendances ? C'est la raison du message d'erreur "WARN XX requires a peer of XX but none is installed".

Lorsque ce message apparaît après une commande d'installation d'un paquet, c'est pour vous prévenir que certaines librairies qui se sont installées comme dépendances ont elles-mêmes des dépendances nécessaires pour fonctionner. Au début de son histoire, NPM installait systématiquement toutes les librairies demandées afin que les librairies fonctionnent directement. Depuis la version 3, les développeurs de Node.js ont choisi de ne plus automatiquement installer ce type de dépendances, afin de ne pas surcharger les installations. C'est à l'utilisateur du module de le faire s'il estime qu'il en a besoin, car ce sont des dépendances utilisées surtout dans le cadre du développement.

Pour effectuer cette manipulation, il faut bien lire le message d'avertissement et noter le package manquant :

npm WARN ma-librairie requires a peer of ma-dependance^1.0.0 but none is installed. You must install peer dependencies yourself.

Dans ce cas, il faut installer le package "ma-dependance" en version 1.0.0. Pour effectuer cette manipulation, nous vous conseillons d'installer le package comme étant un package de développement. De cette manière, il ne sera pas inclus lorsque vous exporterez votre application. Ajoutez l'option "--save-dev" à la commande d'installation.

npm install --save-dev ma-dependance^1.0.0

Si le package comporte des espaces dans son nom, alors utilisez des guillemets pour que la commande fonctionne. Vous devez répéter cette commande pour chaque paquet signalé par un message d'avertissement, afin d'avoir toutes les dépendances requises.

JavaScript