Les gestionnaires de paquets sont un outil du langage de programmation pour créer des environnements de projet et importer simplement des dépendances externes. Vous n'avez pas besoin de réinventer la roue et vous pouvez tirer le meilleur parti des outils à votre disposition. Lorsque vous travaillez sur un projet ou une bibliothèque, vous pouvez "empaqueter" votre projet et le publier à d'autres.
Vous pouvez spécifier les dépendances, le nom du paquet, l'auteur, les balises et le numéro de version. Tout cela aide les référentiels en ligne à stocker votre paquet et permet aux autres de trouver votre projet. De plus, en vous permettant de créer vos propres paquets, les développeurs sont obligés de réfléchir à la manière dont leur paquet sera utilisé et mis en œuvre, ce qui permet de créer des paquets de meilleure qualité et plus recyclables.
Sans gestionnaires de paquets modernes, vous aurez besoin d'un outil de pointe pour combiner vos paquets une fois qu'ils seront publiés. Vous rencontrerez également des problèmes lorsque vous voudrez mettre à jour vos paquets vers les dernières versions. Cela sera déjà difficile pour les grands projets comportant de nombreux paquets. Les gestionnaires de paquets facilitent le travail avec les paquets. Ils automatisent la plupart des tâches associées à l'utilisation des paquets pendant le développement.
La catégorie des gestionnaires de paquets du niveau du langage comprend npm, yarn, pip, go mod, maven, gradle, wapm. Il existe également des gestionnaires de paquets au niveau système tels que apt-get, yum, dnf, apk. Mais aujourd'hui, nous ne parlerons que de deux de ces gestionnaires de paquets : nuget et npm.
NuGet
NuGet est un gestionnaire de paquets qui prend en charge les projets créés à l'aide de la plate-forme .NET. Par exemple, les projets écrits en C #. NuGet fait partie de l'installation de Visual Studio, l'environnement de développement intégré le plus courant pour écrire du code .NET. Il peut également être ajouté en tant qu'extension à l'éditeur de code populaire de Visual Studio.
Lorsqu'il est utilisé dans Visual Studio, les développeurs visualisent les paquets à l'aide de l'outil de recherche NuGet Package Manager. Les paquets publics sont récupérés dans le référentiel NuGet, et les développeurs peuvent également spécifier des référentiels privés.
Dans Visual Studio, les développeurs peuvent utiliser NuGet pour apprendre les paquets par le biais d'une interface utilisateur graphique, bien qu'ils aient également la possibilité d'interagir en utilisant l'interface de ligne de commande. Les développeurs peuvent voir les noms, les versions et les descriptions de ce que fait chaque paquet avant de décider quels paquets installer dans leur projet.
NuGet assure le suivi des dépendances du projet dans le fichier packages.config du projet, un fichier XML qui répertorie l'ID de chaque dépendance et le numéro de version. Contrairement à npm, NuGet vous permet d'inclure une seule version d'une dépendance dans chaque projet, et Package Manager résout automatiquement tout conflit de version.
Gestionnaire de paquets Node (NPM)
La gestion des paquets n'a jamais concerné que NuGet. Si vous êtes un développeur travaillant avec node.js, JavaScript ou l'une de ses variantes, vous pouvez utiliser Team Services pour placer des paquets npm privés à côté de vos paquets NuGet.
Ce gestionnaire de paquets aide les développeurs à gérer et à installer des paquets JavaScript. À l'origine, il a été conçu spécifiquement pour prendre en charge les projets Node, mais il peut maintenant aider avec toutes les dépendances JavaScript. Il s'agit d'une plateforme extrêmement puissante utilisée pour développer des applications pour les chats en ligne, les sites de streaming vidéo, les applications à une seule page et de nombreuses autres applications Web et web à forte intensité d'E/S.
Les développeurs peuvent installer npm en installant Node.js et le client de ligne de commande npm pour interagir avec npm. Plusieurs options sont disponibles lors de l'utilisation de npm pour gérer les paquets JavaScript. Les développeurs peuvent soit installer les paquets individuellement en utilisant la commande npm install et en saisissant le nom d'un paquet spécifique, soit créer un fichier package.json qui liste toutes les dépendances du projet. Ils utilisent ensuite la commande npm install pour installer toutes les dépendances qui ne sont pas déjà présentes dans le projet.
Si les développeurs exécutent la commande npm install pour installer les dépendances individuelles dans le même dossier que leur projet JavaScript, toutes les dépendances qu'ils installent individuellement sont également ajoutées au fichier package.json pour faciliter la maintenance. Les développeurs ne sont pas tenus de résoudre les conflits de dépendances, et les projets peuvent inclure plusieurs versions différentes de la même dépendance.
ДLe gestionnaire de paquets npm permet également aux développeurs de faire la distinction entre les dépendances qui doivent être associées au code pour s'exécuter dans un environnement de production et les dépendances qui ne sont nécessaires que dans un environnement de développement et marquées dans le fichier package.json comme devDependencies. Les environnements de test de code peuvent être répertoriés sous devDependencies, mais pas les dépendances utilisées pour la production.
NuGet vs. NPM
NuGet est principalement axé sur .NET, NPM est un gestionnaire de paquets JavaScript.
Le premier objectif de npm est de supporter Node.js : un serveur JavaScript bien connu. Npm est un outil en ligne de commande et sera plus pratique à utiliser pour vous. Comment Visual Studio gère-t-il
Npm génère une liste d'actions à effectuer sur l'arbre sur le disque. Il est prévu que toutes ces actions, à l'exception des scénarios de cycle de vie, puissent agir indépendamment les unes des autres sans interférer les unes avec les autres. Cela signifie, par exemple, que vous devez pouvoir mettre à jour b dans a→b→c sans réinstaller c avec npm.
L'interface utilisateur du gestionnaire de paquets NuGet dans Visual Studio pour Windows permet d'installer, de supprimer et de mettre à jour facilement les paquets NuGet dans les projets et les solutions. L'interface utilisateur du gestionnaire de paquets ne fait pas partie de Visual Studio Code.