Il y a quelque temps, nous avons publié un guide pour gérer les packages Python à l'aide de PIP . Aujourd'hui, nous allons discuter de la gestion des packages NodeJS à l'aide de Npm. NPM est le plus grand registre de logiciels qui contient plus de 600 000 packages. Chaque jour, des développeurs du monde entier partagent et téléchargent des packages via npm. Dans ce guide, j'expliquerai les bases du travail avec npm, telles que l'installation de packages (localement et globalement), l'installation de certaines versions d'un package, la mise à jour, la suppression et la gestion des packages NodeJS, etc.
Installer NPM
Puisque npm est écrit en NodeJS, nous devons installer NodeJS pour pouvoir utiliser npm. Pour installer NodeJS sur différentes distributions Linux, consultez le lien suivant.
- Comment installer NodeJS sur Linux
Une fois installé, assurez-vous que NodeJS et NPM ont été correctement installés. Il existe plusieurs façons de procéder.
Pour vérifier où le nœud a été installé, exécutez la commande suivante :
$ which node /home/sk/.nvm/versions/node/v9.4.0/bin/node
Vérifiez sa version :
$ node -v v9.4.0
Connectez-vous à la session Node REPL :
$ node > .help .break Sometimes you get stuck, this gets you out .clear Alias for .break .editor Enter editor mode .exit Exit the repl .help Print this help message .load Load JS from a file into the REPL session .save Save all evaluated commands in this REPL session to a file > .exit
Vérifiez où npm est installé :
$ which npm /home/sk/.nvm/versions/node/v9.4.0/bin/npm
Et la version :
$ npm -v 5.6.0
Génial! Node et NPM ont été installés et fonctionnent ! Comme vous l'avez peut-être remarqué, j'ai installé NodeJS et NPM dans mon répertoire $HOME pour éviter les problèmes d'autorisation lors de l'installation globale des modules. C'est la méthode recommandée par l'équipe NodeJS.
Eh bien, voyons comment gérer les modules (ou packages) NodeJS à l'aide de npm.
Gérer les packages NodeJS à l'aide de Npm
Installation des modules NodeJS
Les modules NodeJS peuvent être installés localement ou globalement (à l'échelle du système). Je vais maintenant montrer comment installer un paquet localement.
Installer les packages localement
Pour gérer les packages localement, nous utilisons normalement package.json fichier.
Tout d'abord, créons notre répertoire de projet.
$ mkdir demo
$ cd demo
Créez un fichier package.json dans le répertoire de votre projet. Pour ce faire, exécutez :
$ npm init
Entrez les détails de votre package tels que le nom, la version, l'auteur, la page github, etc., ou appuyez simplement sur la touche ENTRÉE pour accepter les valeurs par défaut et tapez OUI pour confirmer.
This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sensible defaults. See `npm help json` for definitive documentation on these fields and exactly what they do. Use `npm install <pkg>` afterwards to install a package and save it as a dependency in the package.json file. Press ^C at any time to quit. package name: (demo) version: (1.0.0) description: demo nodejs app entry point: (index.js) test command: git repository: keywords: author: license: (ISC) About to write to /home/sk/demo/package.json: { "name": "demo", "version": "1.0.0", "description": "demo nodejs app", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" } Is this ok? (yes) yes
La commande ci-dessus initialise votre projet et crée le fichier package.json.
Vous pouvez également le faire de manière non interactive en utilisant la commande :
$ npm init --y
Cela créera rapidement un fichier package.json avec des valeurs par défaut sans intervention de l'utilisateur.
Maintenant, installons le package nommé commander .
$ npm install commander
Exemple de sortie :
npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN [email protected] No repository field. + [email protected] added 1 package in 2.519s
Cela créera un répertoire nommé "node_modules" (s'il n'existe pas déjà) dans le répertoire racine du projet et téléchargez les packages qu'il contient.
Vérifions le fichier package.json.
$ cat package.json { "name": "demo", "version": "1.0.0", "description": "demo nodejs app", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "commander": "^2.13.0" } }
Vous verrez que les dépendances ont été ajoutées. Le caret (^ ) au début du numéro de version indique que lors de l'installation, npm extrait la version la plus élevée du package qu'il peut trouver.
$ ls node_modules/ commander
L'avantage du fichier package.json est que si vous aviez le fichier package.json dans le répertoire de votre projet, vous pouvez simplement taper "npm install", puis npm examinera les dépendances répertoriées dans le fichier et les téléchargera toutes. Vous pouvez même le partager avec d'autres développeurs ou le pousser dans votre référentiel GitHub, ainsi lorsqu'ils tapent "npm install", ils obtiendront tous les mêmes packages que vous avez.
Vous pouvez également remarquer un autre fichier JSON nommé package-lock.json . Ce fichier garantit que les dépendances restent les mêmes sur tous les systèmes sur lesquels le projet est installé.
Pour utiliser le package installé dans votre programme, créez un fichier index.js (ou n'importe quel nom de votre choix) dans le répertoire du projet avec le code réel, puis exécutez-le à l'aide de la commande :
$ node index.js
Installer les packages globalement
Si vous souhaitez utiliser un package comme outil de ligne de commande, il est préférable de l'installer globalement. De cette façon, cela fonctionne quel que soit le répertoire qui est votre répertoire actuel.
$ npm install async -g + [email protected] added 2 packages in 4.695s
Ou,
$ npm install async --global
Pour installer une version spécifique d'un paquet, nous faisons :
$ npm install [email protected] --global
Mettre à jour les modules NodeJS
Pour mettre à jour les packages locaux, accédez au répertoire du projet où se trouve le package.json et exécutez :
$ npm update
Ensuite, exécutez la commande suivante pour vous assurer que tous les packages ont été mis à jour.
$ npm outdated
S'il n'y a pas de mise à jour, il ne renvoie rien.
Pour savoir quels packages globaux doivent être mis à jour, exécutez :
$ npm outdated -g --depth=0
S'il n'y a pas de sortie, tous les packages sont mis à jour.
Pour mettre à jour le package global unique, exécutez :
$ npm update -g <package-name>
Pour mettre à jour tous les packages globaux, exécutez :
$ npm update -g <package>
Liste des modules NodeJS
Pour lister les packages locaux, allez dans le répertoire du projet et exécutez :
$ npm list [email protected] /home/sk/demo └── [email protected]
Comme vous le voyez, j'ai installé le package "commander" en mode local.
Pour répertorier les packages globaux, exécutez cette commande depuis n'importe quel emplacement :
$ npm list -g
Exemple de sortie :
/home/sk/.nvm/versions/node/v9.4.0/lib ├─┬ [email protected] │ └── [email protected] └─┬ [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] [...]
Cette commande listera tous les modules et leurs dépendances.
Pour lister uniquement les modules de niveau supérieur, utilisez --depth=0 choix :
$ npm list -g --depth=0 /home/sk/.nvm/versions/node/v9.4.0/lib ├── [email protected] └── [email protected]
Rechercher des modules NodeJS
Pour rechercher un module, utilisez la commande "npm search":
npm search <search-string>
Exemple :
$ npm search request
Cette commande affichera tous les modules contenant la chaîne de recherche "request".
Supprimer les modules NodeJS
Pour supprimer un package local, accédez au répertoire du projet et exécutez la commande suivante pour supprimer le package de vos node_modules répertoire :
$ npm uninstall <package-name>
Pour le supprimer des dépendances dans package.json fichier, utilisez le save drapeau comme ci-dessous :
$ npm uninstall --save <package-name>
Pour supprimer les packages installés globalement, exécutez :
$ npm uninstall -g <package>
Nettoyage du cache NPM
Par défaut, NPM conserve la copie d'un package installé dans le dossier de cache nommé npm dans votre répertoire $HOME lors de son installation. Ainsi, vous pourrez l'installer la prochaine fois sans avoir à le télécharger à nouveau.
Pour afficher les modules en cache :
$ ls ~/.npm
Le dossier de cache est inondé de tous les anciens packages au fil du temps. Il est préférable de nettoyer le cache de temps en temps.
Depuis [email protected], le cache npm résout automatiquement les problèmes de corruption et les données extraites du cache sont garanties valides. Si vous voulez vous assurer que tout est cohérent, exécutez :
$ npm cache verify
Pour vider tout le cache, exécutez :
$ npm cache clean --force
Affichage de la configuration NPM
Pour afficher la configuration npm, tapez :
$ npm config list
Ou,
$ npm config ls
Exemple de sortie :
; cli configs metrics-registry = "https://registry.npmjs.org/" scope = "" user-agent = "npm/5.6.0 node/v9.4.0 linux x64" ; node bin location = /home/sk/.nvm/versions/node/v9.4.0/bin/node ; cwd = /home/sk ; HOME = /home/sk ; "npm config ls -l" to show all defaults.
Pour afficher l'emplacement global actuel :
$ npm config get prefix /home/sk/.nvm/versions/node/v9.4.0
Et, c'est tout pour le moment. Ce que nous venons de couvrir ici n'est que les bases. Le NMP est un vaste sujet. Pour plus de détails, rendez-vous sur le Démarrage du NPM guider.