Node.js : npm & npx 101
Gestion de paquets JavaScript/Typescript côté CLI
Exécutez les commandes à la racine de votre projet pour éviter les comportements inattendus.
Installer Node.js
Linux
# Installer nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# Charger nvm sans redémarrer la session
. "$HOME/.nvm/nvm.sh"
# Installer Node.js
nvm install 24
# Vérifier
node -v
npm -v
Pour d'autres OS, consultez la documentation officielle de Node.js / nvm.
Démarrage rapide
mkdir demo-npm && cd demo-npm
# Créer un nouveau projet node.js interactivement
npm init # -y Créer plutôt avec valeurs par défaut
mkdir -p src && printf "console.log('Hello npm');\n" > src/index.js
path="package.json"
cat << 'EOF' > "$path"
{
"scripts": {
"start": "node src/index.js",
"dev": "node --watch src/index.js",
"test": "node -e \"console.log(\\\"ok\\\")\"",
"clean": "rm -rf node_modules dist"
}
"dependencies": {
},
"devDependencies": {
}
}
EOF
echo "✅ $path a été créé."
Exécuter les scripts :
npm run dev
npm start
npm test
Installer, mettre à jour, désinstaller des paquets
Les dépendences qu'on installe avec npm install sont automatiquement ajoutées dans package.json. Il est possible mais déconseiller de changer ce comportement par défaut.
# Lister les paquets installés
npm list # --depth=0 : Lister seulement les dépendances de premier niveau
# Voir les détails d'un paquet
npm view express # versions : Voir toutes les versions disponibles
# ajouter des dépendences
npm install {package-1} {package-2}@{version} ...
# -D dev dépendences
# -g global (sans ajoute au `package.json`)
# @{version} est optionel si vous souhaitez une version particulier
# installler toutes dépendences spécifié dans `package.json`
npm install # uninstall pour l'inverse
npm outdated # Voir les paquets obsolètes
npm update
Utiliser npx pour des outils ponctuels
Pour des petit paquets, il est possible de les exécuter sans installation préalable.
npx {commande} # e.g., npx prisma studio
Il est aussi utile pour invoquer des générateurs des projets. Voir section suivante.
Générateur de projet
# Créer un projet avec un générateur
npx {project-name}@latest app -- --template react-ts
cd app
npm install
npm run dev
Configuration
# Voir toute la configuration
npm config list
# Définir le registre
npm config set registry https://registry.npmjs.org/
# Définir le scope par défaut
npm config set scope @mon-organisation
Gestion du cache
# Voir le cache
npm cache verify
# Nettoyer le cache
npm cache clean --force
Publication (package public simple)
Tout le monde peut publier des paquets. Si vous avez crée quelques chose sympa, partagez !
npm login
npm publish --access public --tag beta
Pensez à renseigner
name,version,main/module,filesdanspackage.jsonavantpublish.
Member discussion