Table des matières
NPM
NPM est le gestionnaire de packetages de Node.js (Node.js Package Manager).
Installation mac (sans sudo)
- Install Node.js from https://nodejs.org/en/download/
- Update to the latest version of npm :
$ npm install npm -g - Make a new folder for the npm global packages :
$ mkdir ~/.npm-packages - Tell npm where to find/store them :
$ npm config set prefix ~/.npm-packages
Source : Node and npm without sudo
Initier NPM
Pour initialiser un package NPM, on fait simplement:
$ npm init
On répond à une foule de question qui créera le fichier package.json.
Pour aller plus rapidement, on peut créer un fichier package.json simple:
{ "name": "nom-du-projet", "version": "0.0.1" }
Avec le fichier package.json on peut alors faire:
$ npm i -y
Installation de packetages
Pour installer un packetage avec NPM, il faut utiliser install :
$ npm install <nom_du_packetage>
Pour installer un packetage qui sera accessible sur tout le système (globalement ou globally), on utilise le flag -g :
$ npm install -g <nom_du_packetage>
Suppression de packetages
$ npm uninstall <nom_du_packetage>
Mise à jour
Pour mettre à jour un paquetage en particulier:
$ npm update <nom_du_packetage>
On peut vérifier les packetages installés globalement qui ont besoin d'une mise à jour:
$ npm outdated -g --depth=0
Ensuite, on peut soit mettre à jour un paquetage globale en particulier (c'est vraiment install qui est utilisé):
$ npm install -g <nom_du_packetage>
Ou bien tous les paquetges globaux:
$ npm update -g
Source: Updating global packages
Outils de mise à jour de dépendances
Gérer les dépendances avec package.json
Création
$ npm init
Ceci va demander quelques question et créer le fichier package.json.
Installation
Ensuite, une fois que le fichier package.json est présent, simplement se rendre dans le répertoire où il se trouve et faire :
$ npm install
Ceci va installer les packetages indiqués dans le fichier package.json. À chaque installation d'un package qu'on veut ajouter dans package.json, il faut utiliser l'option --save.
$ npm install <nom_du_package> --save
Même principe pour la mise à jour :
$ npm update
Mise à jour du fichier package.json
Pour installer des packages et qu'ils soient mémorisés dans le fichier package.json, il faut utiliser le flag --save :
$ npm install <nom_du_packetage> --save
Publication
S'authentifier:
$ npm adduser
Créer un fichier .npmignore, même vide, sinon .gitignore sera pris en compte, ce qui peut ignorer des fichiers compilés/transpilés.
Ayant un package scoped (@scopename/packagename), on peut publier publiquement:
$ npm publish --access public
NPM Packages
- Request : Utile pour faire des requêtes pour des services REST par exemple.
Proxy / Cache
$ npm config get registry $ npm config set registry "http://registry.npmjs.org/" $ npm --proxy https://username:password@cacheaddress.com install packagename
HTTPS
$ npm config set https-proxy http://proxy.company.com:8080
C'est vraiment en http (non https) que le schemas est1).
Cache
$ npm cache verify $ npm cache clear
npm config set https-proxy http://proxy.company.com:8080
Ressources
Outils
Yarn
Article qui décrit bien Yarn : Yarn: A new package manager for JavaScript.
Installation de Yarn officielle : Installation.
Équivalences avec npm
| npm | yarn | Description |
|---|---|---|
npm install | yarn | Lit packages.json et installe les modules. |
npm install [package] –save | yarn add [package] | |
npm install [package] –save-dev | yarn add [package] –dev |
Global Packages
- bw → @bitwarden/cli
- chokidar → chokidar-cli
- code-push → code-push-cli
- concurrent → concurrently
- concurrently → concurrently
- gulp → gulp
- hint → hint
- hs → http-server
- http-server → http-server
- jest → jest
- jrlo → jrlo
- json-diff → json-diff
- ng → @angular/cli
- ngd → @compodoc/ngd-cli
- nodemon → nodemon
- source-map-explorer → source-map-explorer
- tb → taskbook
- terminalizer → terminalizer
- tldr → tldr
- ts-node → ts-node
- tsc → typescript
- tslint → tslint
- yarn → yarn
