npm
Depuis la version 0.6.3 de Node.js, npm fait partie de l'environnement et est donc automatiquement installé avec.
npm fonctionne avec un terminal et gère les dépendances pour une application. Il permet également d'installer des applications Node.js disponibles sur le dépôt npm, https://www.npmjs.com/.
(source : Wikipédia)
Deux utilisations très différentes sont possibles :
- Utiliser des paquets javascript pour son code comme jquery ou openlayers…
- Utiliser des paquets comme outils pour la programmation comme gulp, compass, …etc
Installation et prérequis
- Installer Node.js
- Sous windows, vérifier que l'adresse du répertoire nodejs est bien enregistrée dans les variables d'environnement du système (panneau de configuration > Système > Paramètres avancés > Variables d'environnement > path) pour pouvoir y accéder en ligne de commande:
npm ...
Créer "un projet"
Dans le répertoire de mon projet:
monProjet> npm init
Npm demande alors plein de compléments d'informations que je détaillerai plus tard (todo), qui ne sont pas essentiels dans mon cas.
L'ensemble des informations et leur format est consultable sur https://docs.npmjs.com/files/package.json.
Pour le moment on fait “enter” partout. Npm crée alors le fichier package.json
.
{ "name": "elisabeth", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "Elisabeth", "license": "ISC" }
Installation d'un paquet outil
Installation globale
Généralement lorsqu'on installe un paquet comme outil, on en a besoin en ligne de commande, on fait donc une installation globale (-g). C'est le cas de browserify
.
npm install -g browserify
Installation locale
Il est possible que l'on en ait besoin localement, que l'on ait des scripts qui l'utilise, alors on fera une installation locale, par exemple si on veut utiliser browserify
avec gulp
.(save = pour enregistrer dans package.json
, dev utilisé qu'en développement)
npm install --save-dev browserify
browserify
est alors installé localement dans le répertoire node_modules
, et ajouté dans les “dev dépendances” du fichier package.json
.
{ "name": "elisabeth", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "devDependencies": { "browserify": "^13.0.0" } }
Installation d'un paquet librairie
Ce type de package est nécessairement installé localement. Si on veut suivre les mises à jour, on ajoute un –save
pour que la dépendance soit enregistrée dans package.json
npm install jquery
Le package jquery est alors ajouté au dossier node_modules
de mon projet.
Si on a ajouté un –save
, il est enregistré dans package.json
.
{ "name": "elisabeth", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "jquery": "^2.2.1" }, "devDependencies": { "browserify": "^13.0.0" } }
Mise à jour
Mise à jour locale
Pour savoir si des packages ne sont pas à jour.
monProjet> npm outdated
monProjet> npm update
La mise à jour dépend de la version spécifiée pour chaque package dans package.json.
— Elisabeth Pointal 23/02/2016 19:41