L'une des meilleures fonctionnalités de Node est le gestionnaire de packages. Il existe de nombreuses façons d'installer et de gérer les packages de nœuds. Ici, nous examinerons les avantages et les inconvénients de l'utilisation d'un gestionnaire de packages ou de plusieurs gestionnaires de packages, ainsi que certaines des meilleures façons de les utiliser ensemble.
Qu'est-ce qu'un gestionnaire de paquets, demandez-vous? Continuez à lire pour le découvrir.
Que sont les gestionnaires de packages?
Dans le monde du développement logiciel, les dépendances sont ce dont vous avez besoin pour exécuter votre projet. Ils sont comme les ingrédients d'une recette: sans eux, rien ne se passe.
Par exemple, si vous écrivez une application qui utilise JavaScript et qu'elle souhaite accéder à certaines fonctions à partir de
une bibliothèque appelée jQuery (que de nombreux sites Web utilisaient autrefois), alors jQuery sera l'une de vos dépendances. Vous aurez besoin de l'installer pour que lorsqu'une personne visite votre site, elle puisse voir ces animations ou interactions sympas que vous avez créées avec !Les gestionnaires de packages aident à gérer ces relations entre les projets en gérant les dépendances pour nous, nous n'avons donc pas à nous soucier de les télécharger manuellement nous-mêmes chaque fois que nous voulons quelque chose de nouveau ajouté ou mis à jour - ils s'assurent également que tout fonctionne correctement et fonctionne correctement une fois installé (ce qui est parfois plus facile à dire que fait).
Node est livré pré-emballé avec un gestionnaire de packages appelé NPM
NPM est le gestionnaire de packages par défaut et, en tant que tel, il est intégré à l'exécution du nœud. Vous pouvez utiliser NPM pour installer des packages à partir de GitHub ou MNP directement. Vous pouvez également publier vos packages sur ce site afin que d'autres puissent les installer à l'aide de leur version de NPM.
NPM n'est pas seulement utilisé pour installer des packages; il gère également la résolution des dépendances et les conflits de version entre deux ou plusieurs bibliothèques ou modules requis dans la base de code de votre application.
Cela signifie que s'il existe plusieurs versions de quelque chose comme Express s'exécutant sur votre serveur à tout moment, NPM s'assurera que chaque instance obtient ce dont elle a besoin sans entrer en conflit avec d'autres instances effectuant un travail similaire - et tout cela sans vous obliger à faire quoi que ce soit de spécial au-delà du simple appel exiger() sur un objet en cas de besoin !
NPM est un outil incroyablement puissant, et il est facile de commencer avec lui. Mais si vous débutez avec Node et JavaScript, il peut être difficile de savoir quels outils sont disponibles pour votre utilisation et lesquels sont les meilleurs pour un projet donné.
Le principal problème avec NPM est qu'il est lent à installer les packages. Ce n'est pas un gros problème si vous n'exécutez qu'un ou deux scripts occasionnels, mais cela peut être incroyablement frustrant si vous essayez de créer une application entière qui utilise des dizaines de bibliothèques différentes et outils.
Le fil et le PNPM sont plus rapides que le NPM
Yarn est une alternative sécurisée et fiable à NPM qui utilise un fichier de verrouillage pour éviter les écrasements accidentels et garantit que vos dépendances sont correctement résolues lors de l'installation des packages.
Il a également un temps d'installation plus rapide que NPM, ce qui le rend particulièrement utile si vous travaillez avec de grands projets qui ont de nombreux modules avec beaucoup de dépendances.
PNPM est une alternative à la fois à Yarn et à NPM, mais il n'est pas encore aussi populaire car il ne possède pas certaines des fonctionnalités trouvées dans l'un ou l'autre (comme les fichiers de verrouillage). Cependant, ses développeurs affirment que PNPM peut installer des packages jusqu'à quatre fois plus rapidement que Yarn ou NPM grâce à sa nature légère; cela signifie également moins d'utilisation de l'espace disque sur votre ordinateur !
Si vous construisez un projet qui ne nécessite qu'une poignée de dépendances, Yarn ou NPM seront probablement suffisants. Cependant, si vous travaillez avec de grands projets avec de nombreux modules et dépendances, PNPM pourrait être la meilleure option pour vous.
Avantages de l'utilisation de plusieurs gestionnaires de packages
Un seul gestionnaire de packages ne peut gérer qu'une seule version d'une bibliothèque donnée à la fois. Si vous souhaitez utiliser deux versions différentes de la même bibliothèque pour d'autres projets ou dans des environnements différents (par exemple, production vs. développement), vous aurez alors besoin de deux packages distincts installés sur votre système.
Cela peut entraîner des conflits si les deux packages tentent de mettre à jour leur version de la même dépendance en même temps. L'utilisation de plusieurs gestionnaires de packages signifie que vous avez plus de contrôle sur les dépendances installées et leur emplacement, ce qui permet d'éviter ce type de conflits.
Un autre avantage est que lors de l'utilisation de plusieurs gestionnaires de packages, chacun fournira son propre ensemble unique de fonctionnalités. Certains peuvent être plus rapides que d'autres; certains pourraient avoir de meilleures capacités de gestion des dépendances; d'autres pourraient être plus adaptés pour développer des applications dans certains frameworks comme ReactJS ou VueJS etc...
Enfin, l'utilisation de plusieurs gestionnaires de packages peut aider à améliorer la productivité de votre développeur en réduisant le temps passé à rechercher et à installer des dépendances. En effet, chaque gestionnaire de packages sera conçu avec un ensemble spécifique de cas d'utilisation à l'esprit (par exemple, vitesse vs. sécurité contre gestion des dépendances, etc...).
Utiliser plusieurs gestionnaires de packages en les installant globalement
À l'aide de la ligne de commande, vous pouvez spécifier le gestionnaire de packages que vous souhaitez utiliser pour un projet spécifique. Configurez plusieurs gestionnaires de packages sur votre ordinateur :
- NPM est préemballé avec Node. Cela vous permettra d'installer d'autres packages (et gestionnaires de packages) à partir de la ligne de commande et de gérer les dépendances sur tous vos projets avec NPM. C'est également utile si vous souhaitez exécuter des scripts NPM dans un navigateur (par exemple, Webpack), car les navigateurs ne sont pas livrés avec NPM préinstallé!
- Installez également Yarn globalement à l'aide de NPM. Il s'agit d'une autre option populaire pour gérer les dépendances dans les projets JavaScript; il présente certains avantages par rapport au NPM qui peuvent le rendre préférable pour certains types de projets ou d'équipes
- Enfin, installez PNPM. Ce gestionnaire de paquets est un fork de NPM conçu pour être plus rapide et plus stable. Il possède également des fonctionnalités supplémentaires qui peuvent être utiles pour certains types de projets, telles que la prise en charge des dépendances de GitHub.
Notez qu'une installation globale signifie que le package sélectionné sera disponible pour l'ensemble de votre système (vous pouvez accéder le programme n'importe où via la ligne de commande), tandis qu'une installation locale n'est accessible que par le annuaire.
Exemples concrets d'utilisation de plusieurs gestionnaires de packages
Découvrez ces utilisations :
1. Le fil et le NPM peuvent être utilisés ensemble (par ex. créer-réagir-app)
Ceci est utile lorsque vous souhaitez profiter de la vitesse et de l'efficacité de Yarn tout en conservant la compatibilité avec les packages NPM. Si vous avez besoin de la dernière version d'une bibliothèque qui n'a pas encore été mise à jour pour la compatibilité avec Yarn, ou s'il y a une autre raison pourquoi votre équipe préfère s'en tenir à NPM malgré sa vitesse plus lente ou son ensemble de fonctionnalités limité, alors cela pourrait bien fonctionner pour votre projet. Cela permet également d'éviter d'avoir deux arborescences de dépendances distinctes dans votre configuration de dépôt mono !
2. Utilisation de Yarn pour les packages globaux et de PNPM pour les installations locales
Bien que PNPM soit le gestionnaire de packages le plus rapide, il peut être difficile à utiliser pour les packages installés globalement. En effet, il utilise une structure de fichiers différente, ce qui peut entraîner des problèmes de compatibilité avec des programmes tels que Visual Studio Code. C'est là que Yarn entre en jeu. Vous pouvez l'utiliser pour vos packages installés globalement et PNPM pour les installations locales. Cette solution est un bon moyen de bénéficier des avantages des deux gestionnaires de packages sans avoir à trop modifier votre flux de travail. Avec cette configuration, si vous voulez vous déchaîner, vous pouvez supprimer complètement NPM de votre système (mais il est toujours agréable d'avoir NPM comme sauvegarde).
3. Utilisation de PNPM avec NPM comme solution de secours
C'est une bonne option à considérer si vous souhaitez utiliser PNPM, mais ne voulez pas que tous vos développeurs aient à apprendre un nouvel outil pour le moment. Cela leur permet de continuer à travailler avec NPM jusqu'à ce qu'ils soient à l'aise avec PNPM et en aient besoin pour leur travail.
L'utilisation de plusieurs gestionnaires de packages facilite les choses
Vous pouvez utiliser plusieurs gestionnaires de packages. Vous pouvez les installer globalement ou localement, et si vous souhaitez spécifier quel gestionnaire de packages doit être utilisé pour un projet spécifique, utilisez simplement la ligne de commande !
Si vous souhaitez installer plusieurs gestionnaires de packages sur votre système, assurez-vous que vous utilisez la même version de Node.js.
En conclusion, nous pensons que vous devriez utiliser plus d'un gestionnaire de paquets. C'est un excellent moyen de démarrer avec Node et d'apprendre de nouveaux outils si vous connaissez déjà NPM. Si vous n'avez pas déjà installé Node, la configuration est simple sous Windows.