π 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
-
dependenciesare required for production. -
devDependenciesare 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! π―