Outils pour utilisateurs

Outils du site


web:javascript:nodejs:npm

NPM

NPM est le gestionnaire de packetages de Node.js (Node.js Package Manager).

Installation mac (sans sudo)

  1. Install Node.js from https://nodejs.org/en/download/
  2. Update to the latest version of npm : $ npm install npm -g
  3. Make a new folder for the npm global packages : $ mkdir ~/.npm-packages
  4. 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

Ressources

web/javascript/nodejs/npm.txt · Dernière modification : 2022/12/09 20:39 de sgariepy