๐ Node.js and NPM (Node Package Manager) are essential tools for modern JavaScript development. Node.js enables server-side scripting in JavaScript, while NPM helps manage your project's dependencies. This guide will walk you through installing, updating, and uninstalling Node.js and NPM on Windows, macOS, and Linux.
๐ What Are Node.js and NPM?
Node.js is a JavaScript runtime built on Chromeโs V8 JavaScript engine. It allows you to run JavaScript code outside of the browser, making it popular for building scalable server-side applications.
NPM (Node Package Manager) is the default package manager that comes with Node.js, providing: โ
A command-line client for installing and managing packages.
โ
A large repository of public and private JavaScript packages (npm registry).
โ๏ธ Prerequisites
๐น Basic command-line interface (CLI) knowledge is helpful.
๐น Familiarity with JavaScript (optional but useful).
๐ง Installing Node.js and NPM
๐ฅ๏ธ Windows Installation
Option A: Direct Download
1๏ธโฃ Go to the official Node.js download page.
2๏ธโฃ Select either the 64-bit or 32-bit Windows Installer (.msi
) based on your system.
3๏ธโฃ Run the downloaded file and follow the prompts in the Node.js Setup Wizard.
Option B: Using a Package Manager
๐ซ Chocolatey (For Admin users)
choco install nodejs
๐ฅ Scoop (For Non-Admin users)
scoop install nodejs
๐ macOS Installation
Option A: Direct Download
1๏ธโฃ Visit the official Node.js download page.
2๏ธโฃ Download the macOS Installer (.pkg
).
3๏ธโฃ Run the .pkg
file and follow the installation wizard.
Option B: Using Homebrew
brew install node
๐ง Linux Installation
Option A: Using Distributionโs Package Manager
๐ข Debian/Ubuntu
sudo apt update && sudo apt install nodejs npm
๐ด Fedora/RHEL/CentOS
sudo dnf update && sudo dnf install nodejs npm
Option B: Using NodeSource (For Latest Versions)
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
(Replace setup_18.x
with setup_16.x
or setup_20.x
as needed.)
โ Verifying Installation
Check if Node.js and NPM are installed correctly:
node -v # Outputs Node.js version\ nnpm -v # Outputs NPM version
๐ Managing Multiple Node.js Versions
๐ Use NVM (Node Version Manager) for macOS/Linux or nvm-windows to manage multiple Node.js versions.
nvm install 18 # Installs Node.js v18
nvm use 18 # Switch to Node.js v18
โซ Updating Node.js and NPM
๐ฅ๏ธ Windows
Node.js โ Download and install the latest version from Node.js official site.
NPM โ Run:
npm install npm@latest -g
๐ macOS
Node.js (via Homebrew):
brew update && brew upgrade node
NPM:
npm install npm@latest -g
๐ง Linux
Debian/Ubuntu:
sudo apt update && sudo apt upgrade nodejs
npm install npm@latest -g
Fedora/RHEL/CentOS:
sudo dnf update && sudo dnf upgrade nodejs
npm install npm@latest -g
โ Uninstalling Node.js and NPM
๐ฅ๏ธ Windows
1๏ธโฃ Open Add or Remove Programs in the Control Panel.
2๏ธโฃ Locate Node.js and click Uninstall.
๐ macOS
๐ If installed via .pkg
file:
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*
๐ If installed via Homebrew:
brew uninstall node
๐ง Linux
๐ข Debian/Ubuntu
sudo apt remove nodejs
๐ด Fedora/RHEL/CentOS
sudo dnf remove nodejs
๐ NPM (All distros):
npm uninstall npm -g
Advanced NPM (Node Package Manager) Features & Usage
NPM is more than just a package managerโit provides powerful tools for handling dependencies, managing scripts, and optimizing workflows for advanced JavaScript development.
๐ 1. Managing Dependencies Efficiently
โ Semantic Versioning (SemVer): NPM follows SemVer to specify package versions, ensuring compatibility and stability.
-
^1.2.3
โ Updates within the same major version. -
~1.2.3
โ Updates within the same minor version. -
1.2.3
โ Installs the exact version.
โ Installing Development vs. Production Dependencies:
npm install lodash --save # Adds to dependencies (default)
npm install eslint --save-dev # Adds to devDependencies
-
dependencies
are required for production. -
devDependencies
are only needed for development.
โ Locking Dependencies with package-lock.json: Ensures consistent installs across environments.
npm ci # Installs exact versions from package-lock.json
โก 2. Automating Tasks with NPM Scripts
NPM allows you to define and run custom scripts in package.json
:
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"build": "webpack --mode production",
"test": "jest"
}
Run a script with:
npm run dev
For predefined scripts (start
, test
), simply use:
npm start
npm test
๐ฆ 3. Global vs. Local Packages
โ
Installing Global Packages: Use -g
to install tools globally, accessible system-wide:
npm install -g nodemon
Check globally installed packages:
npm list -g --depth=0
โ
Using npx for Temporary Global Packages: npx
runs CLI tools without a global install:
npx create-react-app my-app
๐ 4. Publishing and Managing Private Packages
โ Publishing a Package to npm Registry:
npm login # Authenticate to npm
npm publish # Upload package
โ Managing Scoped Packages for Private Projects:
npm install @my-org/my-package --save
๐ Private packages require an npm organization or a paid plan.
๐ 5. Performance Optimization & Troubleshooting
โ
Speeding Up Installs: Use cache
for faster package retrieval:
npm cache clean --force
npm install --prefer-offline
โ Debugging & Diagnosing Issues:
npm doctor # Checks system for known issues
npm audit # Scans dependencies for security vulnerabilities
npm outdated # Lists outdated dependencies
๐ Going Beyond: MERN Stack & MongoDB
Once Node.js and NPM are installed, you can explore: โ
MongoDB for database management.
โ
Express.js & React for the MERN (MongoDB, Express, React, Node.js) stack.
โ
Building full-stack applications with modern JavaScript frameworks.
๐ Read more: Advanced MERN Stack Manual
๐ Conclusion
๐ Congratulations! Youโve successfully installed, updated, and uninstalled Node.js and NPM. Now, you can start building robust JavaScript applications, manage dependencies efficiently, and stay ahead in modern web development. ๐๐ก
๐น Tip: Stay updated by checking the official Node.js documentation for more insights and troubleshooting tips.
๐จโ๐ป Happy Coding! ๐ฏ