Difference between npm and npx| comparison of npm and npx with example
You can also check other posts on npm command deprecate option is deprecated In Nodejs, We have two commands to manage and run libraries
npm
: Node Package Managernpx
: Node package executable runner
The above two come with default nodejs installation.
What is npm?
npm is an easy command-line tool to manage(install, uninstall) node javascript packages in Nodejs.
It is not easy to run and execute the installed packages with this.
What is npx?
npx is the command-line tool to run the packages locally without the installation of packages. It is very helpful without the installation of the package, directly run package runner.
Difference between npm and npx
For example, We need to create a brand new react application. For this, we have to use create-react-app cli.
Let’s do create an application with npm.
First, install the create-react-app using the npm command.
We can install locally(without -g) or globally(-g option)
npm install create-react-app -g
It installs create-react-app from the remote repo into the local developer machine. Globally installation process
- use
-g
option globally - It creates a node_modules folder t global npm directory - /usr/local/ folder in Linux and
%AppData%/npm
in windows. - Also, Creates links for the
bin
folder of on global npm directory.
Local installation process
- use without
-g
option for locally - It creates a node_modules folder at the application directory
- Also, Creates links for the
bin
folder of on application/node_modules/.bin folder. - This path is available and installed packages command are accessible from the application folder
Once, the create-react-app is installed, It creates a link and the create-react-app command works globally.
Run the below command to create a react application
create-react-app app1
It creates a scaffolding react application app1
with all required files and scripts and also installs dependencies.
Let’s create a react application with npx.
npx create-react-app my-app
With a single command, It does the following things
- It installs create-react-app from the npm repository
- Copy the package executable to a local path
- Run the command directly with all required parameters
Both approaches(npm, npx) are used to create a react application using create-react-app.
create-react-app is a one-time process to create a react application, It is not required to install globally, So npx avoids downloading locally for command-line execution.
Hence, It is always a good idea to choose npx over the npm tool.