Core npm commands for installing, updating, and managing package dependencies in Node.js projects.
Install packages and dependencies from the npm registry or other sources.
/**
* Install all dependencies from package.json
*/
npm install
npm i
/**
* Install specific packages
* @param package - Package name with optional version specifier
* @param --save - Add to dependencies (default)
* @param --save-dev - Add to devDependencies
* @param --save-optional - Add to optionalDependencies
* @param --save-peer - Add to peerDependencies
* @param --save-exact - Save exact version instead of range
* @param --no-save - Don't save to package.json
*/
npm install <package>[@version]
npm install <package> --save-dev
npm install <package> --save-exact
npm install <package> --global
/**
* Clean install from lockfile (CI environments)
* Installs directly from package-lock.json, faster and more reliable for CI
*/
npm ci
/**
* Install from package file or directory
*/
npm install <tarball-file>
npm install <tarball-url>
npm install <folder>
npm install <git-url>Usage Examples:
# Install all project dependencies
npm install
# Install specific packages
npm install express
npm install --save-dev jest eslint
npm install -g typescript
# Install specific versions
npm install lodash@4.17.21
npm install express@^4.18.0
# Install from alternative sources
npm install https://github.com/user/repo.git
npm install ./local-package
npm install user/repo#branchRemove packages from dependencies and node_modules.
/**
* Uninstall packages
* @param package - Package name to remove
* @param --save - Remove from dependencies (default)
* @param --save-dev - Remove from devDependencies
* @param --global - Remove global package
*/
npm uninstall <package>
npm uninstall <package> --save-dev
npm uninstall <package> --global
npm rm <package>
npm remove <package>Usage Examples:
# Remove packages
npm uninstall lodash
npm uninstall --save-dev jest
npm rm express
npm uninstall -g typescriptUpdate packages to newer versions within semver ranges.
/**
* Update packages to latest compatible versions
* @param package - Specific package to update, or all if omitted
* @param --global - Update global packages
* @param --save - Update package.json version ranges
*/
npm update [package]
npm update --global
npm update <package> --save
/**
* Check for outdated packages
* @param --global - Check global packages
* @param --json - Output in JSON format
* @param --long - Show additional package information
*/
npm outdated
npm outdated --global
npm outdated --jsonUsage Examples:
# Update all packages
npm update
# Update specific package
npm update express
# Check for outdated packages
npm outdated
npm outdated --globalCommands for managing dependency conflicts and duplicates.
/**
* Remove duplicate packages by restructuring dependency tree
* @param --dry-run - Show what would be deduplicated without making changes
*/
npm dedupe
npm ddp
npm dedupe --dry-run
/**
* Find duplicate packages in dependency tree
*/
npm find-dupes
/**
* Rebuild native packages
* @param package - Specific package to rebuild, or all if omitted
*/
npm rebuild [package]Usage Examples:
# Remove duplicate packages
npm dedupe
# Check for duplicates without fixing
npm find-dupes
# Rebuild native modules
npm rebuild
npm rebuild node-sassList installed packages and their dependency trees.
/**
* List installed packages
* @param package - Filter to specific package
* @param --global - List global packages
* @param --depth - Maximum depth to display (default: unlimited)
* @param --json - Output in JSON format
* @param --parseable - Output parseable format
* @param --long - Show additional package information
* @param --all - Show all dependencies (including duplicates)
*/
npm list [package]
npm ls [package]
npm ls --global
npm ls --depth=0
npm ls --json
npm ls --parseableUsage Examples:
# List all installed packages
npm list
# List only top-level packages
npm list --depth=0
# List global packages
npm list --global --depth=0
# Check if specific package is installed
npm list express
# JSON output for programmatic use
npm list --jsonCreate symlinks between packages for local development.
/**
* Create global symlink for package
* Run in package directory to make it available globally via symlink
*/
npm link
/**
* Link to a globally linked package
* @param package - Name of globally linked package
*/
npm link <package>
/**
* Remove symlinks
* @param package - Package to unlink
* @param --global - Remove global link
*/
npm unlink <package>
npm unlink --globalUsage Examples:
# In package directory - create global link
npm link
# In project directory - link to global package
npm link my-local-package
# Remove links
npm unlink my-local-packageCommon options that apply to install commands:
# Dependency types
--save # Add to dependencies (default)
--save-dev # Add to devDependencies
--save-optional # Add to optionalDependencies
--save-peer # Add to peerDependencies
--save-exact # Save exact version
--no-save # Don't modify package.json
# Installation behavior
--global # Install globally
--production # Skip devDependencies
--dry-run # Show what would be installed
--force # Force installation
--legacy-peer-deps # Use legacy peer dependency resolution
--strict-peer-deps # Fail on peer dependency conflicts
# Performance options
--cache <path> # Use custom cache directory
--offline # Use only cached packages
--prefer-offline # Use cache when available
--prefer-online # Skip cache, always fetch