Maison > interface Web > js tutoriel > npm vs npx : quelle est la différence ?

npm vs npx : quelle est la différence ?

Patricia Arquette
Libérer: 2024-12-20 15:57:19
original
763 Les gens l'ont consulté

Écrit par Fimber Elemuwa✏️

Lorsque vous travaillez avec JavaScript ou Node.js, il est probable que vous ayez rencontré npm, le gestionnaire de packages Node. C'est l'outil incontournable pour gérer les packages, installer les dépendances et garantir que votre projet reste à jour avec les bibliothèques dont il a besoin. Mais il y a aussi npx, un autre outil fourni avec npm, qui suscite souvent la question : quelle est la différence entre les deux ?

À première vue, npm et npx semblent vous aider à interagir avec les packages Node.js, mais ils servent des objectifs différents. Dans cet article, nous détaillerons les principales différences entre npm et npx, vous montrerons leur fonctionnement et explorerons quand les utiliser.

Que vous mettiez en place un nouveau projet, exécutiez un script ou que vous soyez simplement curieux de savoir quand utiliser npm par rapport à npx, ce guide vous aidera à comprendre les deux outils et comment ils peuvent s'intégrer dans votre flux de travail de développement.

Qu’est-ce que npm ?

npm signifie Node Package Manager, et c'est exactement à quoi cela ressemble : un outil pour gérer les packages Node.js. Chaque fois que vous avez besoin d'un nouveau « package » pour votre projet, vous vous tournerez vers npm pour vous aider à l'installer. Ces packages peuvent aller de petites fonctions utilitaires à des frameworks et bibliothèques à part entière.

Mais npm ne sert pas uniquement à installer des bibliothèques. C’est également idéal pour gérer les dépendances et les scripts du projet. Si vous devez verrouiller des versions spécifiques d'une bibliothèque pour éviter des modifications brutales, npm est là pour vous. Il vous permet également de définir des scripts dans votre fichier package.json pour automatiser les tâches courantes telles que tester ou créer votre projet.

Comment fonctionne NPM

Considérez npm comme un magasin numérique de composants logiciels. Lorsque vous démarrez un nouveau projet Node.js, vous aurez besoin de divers outils et bibliothèques pour le créer. Au lieu de réinventer la roue, vous pouvez utiliser npm pour récupérer et installer ces packages prédéfinis. Il fonctionne en maintenant un vaste registre en ligne de packages, chacun avec son nom et sa version uniques.

Lorsque vous utilisez la commande npm install, npm télécharge le package spécifié et ses dépendances, en les plaçant dans un répertoire local nommé node_modules, un endroit central où toutes les dépendances et versions du projet sont suivies. Une installation locale signifie que le package sera disponible uniquement dans le projet où vous l'installez. La commande ressemble à ceci :

npm install <package-name>
Copier après la connexion
Copier après la connexion

Par exemple, si vous souhaitez ajouter la bibliothèque cowsay à votre projet, vous taperez :

npm install cowsay
Copier après la connexion
Copier après la connexion

Ce répertoire est alors accessible à votre projet, vous permettant d'utiliser les fonctionnalités du package dans votre code. Une installation globale met un package à la disposition de l'ensemble de votre système, vous pouvez donc l'utiliser pour n'importe quel projet. Ceci est utile pour les outils de ligne de commande que vous souhaitez exécuter de n'importe où.

Au-delà de la simple installation du package, npm propose également un contrôle de version pour chaque package, qui vous permet de spécifier les versions exactes souhaitées. Ceci est essentiel pour éviter les problèmes potentiels causés par des modifications importantes dans les versions plus récentes.

De plus, npm fournit un moyen de définir des scripts dans package.json : ce sont des commandes qui automatisent des tâches telles que le démarrage d'un serveur, l'exécution de tests ou la création d'un projet. Dans votre package.json, vous pouvez définir un script comme celui-ci :

npm install <package-name>
Copier après la connexion
Copier après la connexion

Qu’est-ce que npx ?

npx a été introduit avec npm v 5.2.0. Alors que npm consiste uniquement à installer et à gérer des packages, npx consiste à les exécuter.

Considérez npx comme un exécuteur de commandes rapide qui vous permet d'exécuter des packages Node.js sans les installer. npx est particulièrement utile lorsque vous souhaitez utiliser un package une seule fois ou le tester sans l'ajouter définitivement à votre système.

Avant npx, si vous souhaitiez utiliser un outil de ligne de commande à partir d'un package, vous deviez d'abord l'installer globalement. npx simplifie cela en vous permettant d'exécuter l'outil directement à partir du registre npm sans avoir besoin d'une installation globale.

Comment fonctionne npx

Lorsque vous exécutez une commande avec npx, elle vérifie d'abord votre répertoire node_modules local. Si le package y est trouvé, il est exécuté. Sinon, npx installe temporairement le package, l'exécute, puis le supprime. Cela signifie que vous pouvez utiliser une large gamme d'outils sans encombrer votre système.

Disons que vous souhaitez utiliser create-react-app pour démarrer un nouveau projet React. Normalement, vous devez d'abord l'installer globalement :

npm install cowsay
Copier après la connexion
Copier après la connexion

Ensuite, vous courriez :

{
  "scripts": {
    "start": "node index.js",
    "test": "jest"
  }
}
Copier après la connexion

Mais avec npx, vous pouvez ignorer l'installation globale et l'exécuter directement :

npm install -g create-react-app
Copier après la connexion

Cette commande télécharge create-react-app, l'exécute et la supprime lorsque vous avez terminé. C'est rapide et pratique et évite que votre système ne soit encombré de packages globaux que vous ne pourriez utiliser qu'une seule fois.

Si vous avez déjà installé un package localement dans votre projet, npx peut vous aider à l'exécuter sans avoir besoin de spécifier le chemin complet vers node_modules. Par exemple, si vous avez installé Jest localement pour le tester, vous pouvez l'exécuter avec npx comme ceci :

create-react-app my-app
Copier après la connexion

npx trouve automatiquement le package dans votre dossier node_modules local et l'exécute, ce qui vous fait gagner du temps et des tracas.

Je pense que la fonctionnalité la plus intéressante de npx est sa capacité à déterminer quel package ou quelle commande vous essayez d'exécuter. Il s'ensuit un processus en trois étapes pour décider comment exécuter n'importe quelle commande :

  • Vérifier localement : npx vérifie d'abord si le package est installé localement dans le dossier node_modules de votre projet. S'il trouve le paquet, il l'exécute à partir de là
  • Vérifier globalement : Si le package n'est pas trouvé localement, npx vérifie s'il est installé globalement sur votre système. S'il trouve le package globalement, il l'exécute
  • Récupérer depuis le registre npm : Enfin, si npx ne trouve pas le package localement ou globalement, il récupère le package dans le registre npm, l'exécute, puis le supprime après l'exécution

N.B., par défaut, npx exécutera la dernière version d'un package mais si vous avez besoin d'une version spécifique, vous pouvez également lui indiquer quelle version exécuter.

Principales différences entre npm et npx

npm et npx sont tous deux des outils cruciaux dans l'écosystème Node.js, mais ils ont des rôles différents à différents niveaux :

Feature npm npx
Purpose and functionality Primarily used for installing packages from the npm registry and managing dependencies in Node.js projects. It helps in adding, removing, and updating packages, and maintaining package versioning Designed to execute Node packages directly without needing to install them globally. It allows users to run packages without cluttering the global or project-specific `node_modules`
Package installation Installs packages locally or globally Executes packages temporarily without installing them permanently
Temporary usage Installation with npm persists until explicitly removed. Packages remain in `node_modules` or globally installed paths Runs packages temporarily and discards them after execution unless otherwise specified
Usage `npm install ` `npx `
Script setup Requires modifications to `package.json` to create custom scripts No modifications needed in `package.json` for running commands
Execution of CLI tools Must install CLI tools globally or locally before using them Can run CLI tools directly from the npm registry without prior installation
Project setup Typically used for project setup involving multiple dependencies and versions. Ideal for quick project scaffolding or one-time command execution, like `create-react-app`
Node.js compatibility Bundled with Node.js for general project and package management Included with Node.js starting from v 8.2.0, streamlining the execution of packages

Conclusion : Quand devez-vous utiliser npm vs npx ?

Décider quand utiliser npm ou npx dépend de la tâche et des besoins de votre projet.

Vous devez utiliser npm lorsque vous devez installer et gérer des dépendances de projet cruciales pour le développement ou la production. Étant donné que npm garantit que les packages sont répertoriés dans package.json, vous obtenez un contrôle total sur la gestion des versions et la cohérence au sein de votre projet. C'est également l'outil incontournable pour exécuter des scripts définis dans package.json, ce qui le rend idéal pour des tâches telles que la création, les tests ou l'exécution de votre serveur.

D'un autre côté, npx est idéal pour les commandes rapides et ponctuelles ou les outils de test sans l'engagement d'une installation globale. Si vous souhaitez utiliser un outil une seule fois, comme create-react-app pour démarrer un projet React, npx vous permet de l'exécuter directement sans encombrer votre système. C’est également pratique pour exécuter des packages installés localement sans saisir le chemin complet, simplifiant ainsi votre flux de travail. En bref, utilisez npm pour la gestion des dépendances à long terme et npx pour les tâches temporaires ou l'exécution de packages à la volée.


200 uniquement ✔️ Surveillez les requêtes réseau défaillantes et lentes en production

Le déploiement d'une application Web ou d'un site Web basé sur Node est la partie la plus simple. S'assurer que votre instance Node continue de fournir des ressources à votre application est là où les choses se compliquent. Si vous souhaitez garantir le succès des requêtes adressées au backend ou aux services tiers, essayez LogRocket.

npm vs. npx: What’s the difference?

npm vs. npx: What’s the difference?

LogRocket est comme un DVR pour applications Web, enregistrant littéralement tout ce qui se passe sur votre site. Au lieu de deviner pourquoi les problèmes surviennent, vous pouvez regrouper et signaler les requêtes réseau problématiques pour comprendre rapidement la cause première.

LogRocket instrumente votre application pour enregistrer les délais de performances de base tels que le temps de chargement des pages, le temps nécessaire au premier octet, les requêtes réseau lentes, et enregistre également les actions/états Redux, NgRx et Vuex. Commencez la surveillance gratuitement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal