JS Guide
HomeQuestionsSearchResources
Search

Built for developers preparing for JavaScript, React & TypeScript interviews.

ResourcesQuestionsSupport
HomeQuestionsSearchProgress
HomeQuestionstooling
Next
tooling
junior
package-managers

What is npm and how do you manage packages with it?

npm
package-manager
dependencies
package.json
Quick Answer

npm (Node Package Manager) is JavaScript's default package manager for installing, updating, and managing dependencies. Key files are package.json (project metadata) and package-lock.json (exact versions). Use npm install, npm update, and npm uninstall for management.

Detailed Explanation

npm Basics:

  • Default Node.js package manager
  • Manages project dependencies
  • Runs scripts defined in package.json
  • Accesses npm registry (largest package registry)

Key Files:

  • package.json: Project metadata, dependencies, scripts
  • package-lock.json: Exact versions for reproducible installs
  • node_modules/: Installed packages

Common Commands:

  • npm init: Create package.json
  • npm install: Install all dependencies
  • npm install <pkg>: Add dependency
  • npm install -D <pkg>: Add dev dependency
  • npm update: Update packages
  • npm run <script>: Run script

Code Examples

Common npm commands
# Initialize new project
npm init -y

# Install all dependencies from package.json
npm install
# or shorter
npm i

# Install specific package
npm install lodash
npm i lodash

# Install as dev dependency
npm install --save-dev jest
npm i -D jest

# Install specific version
npm install react@18.2.0

# Install globally
npm install -g typescript

# Update packages
npm update           # Update all
npm update lodash    # Update specific

# Remove package
npm uninstall lodash

# List installed packages
npm list             # All
npm list --depth=0   # Only direct deps

# Check for outdated
npm outdated

# Run scripts
npm run build
npm run test
npm start           # Shorthand for npm run start

Resources

npm Documentation

docs
Next
What is ESLint and why should you use it?