GNU/Linux >> Tutoriels Linux >  >> Linux

Comment gérer les packages NodeJS à l'aide de Npm

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.


Linux
  1. Comment installer pip pour gérer facilement les packages PyPI

  2. Comment utiliser la commande apt pour gérer les packages sous Linux

  3. Comment créer des packages à partir de la source à l'aide de CheckInstall

  4. Comment :utiliser Bundler pour gérer les gemmes Ruby

  5. Comment installer npm sous linux alpin

Comment gérer AWS Cloudwatch à l'aide d'aws-cli

Comment installer et gérer des packages sur CentOS à l'aide de RPM

Comment gérer les versions de Nodejs avec n sous Linux

Comment gérer les packages Python à l'aide de PIP

Comment installer en toute sécurité des packages à l'aide de Npm ou de Yarn sous Linux

Comment installer les derniers NodeJS et NPM sous Linux