Skip to content
On this page

npm 快速入门

npm (Node Package Manager) 是Node.js的包管理器,也是世界上最大的开源库生态系统。本章将帮助您快速了解npm的核心概念和基本使用方法。

什么是npm

npm是一个命令行工具,用于安装、共享和管理JavaScript库。它包含三个主要部分:

  1. npm命令行工具:用于安装和管理包
  2. npm注册表:全球最大的软件包注册表
  3. npm网站:用于搜索和发现包的网站

安装npm

npm通常与Node.js一起安装:

bash
# 检查是否已安装Node.js和npm
node --version
npm --version

# 如果未安装,可以从以下途径获取:
# 1. 从官网下载 Node.js (包含npm):https://nodejs.org/
# 2. 使用包管理器安装
#    macOS: brew install node
#    Ubuntu: sudo apt install nodejs npm
#    Windows: choco install nodejs

初始化项目

bash
# 创建新项目目录
mkdir my-project
cd my-project

# 初始化npm项目
npm init

# 或者使用默认设置快速初始化
npm init -y

这将创建一个package.json文件,用于管理项目依赖和配置。

基本命令

安装包

bash
# 安装包到项目中(保存到dependencies)
npm install package-name
# 或简写
npm i package-name

# 安装包到开发依赖(保存到devDependencies)
npm install package-name --save-dev
# 或简写
npm i package-name -D

# 全局安装包
npm install -g package-name

卸载包

bash
# 卸载包
npm uninstall package-name
# 或简写
npm un package-name

# 卸载开发依赖
npm uninstall package-name --save-dev

更新包

bash
# 更新单个包
npm update package-name

# 更新所有包
npm update

# 检查过时的包
npm outdated

package.json详解

json
{
  "name": "my-project",
  "version": "1.0.0",
  "description": "项目描述",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "test": "jest"
  },
  "dependencies": {
    "express": "^4.18.0"
  },
  "devDependencies": {
    "jest": "^28.0.0"
  },
  "keywords": ["javascript", "nodejs"],
  "author": "Your Name",
  "license": "MIT"
}

npm脚本

npm允许您在package.json中定义脚本:

json
{
  "scripts": {
    "start": "node server.js",
    "dev": "nodemon server.js",
    "test": "jest",
    "build": "webpack --mode production",
    "lint": "eslint src/"
  }
}

运行脚本:

bash
# 运行定义的脚本
npm run script-name

# 运行预定义脚本(start, test等可以省略run)
npm start
npm test

语义化版本控制

npm使用语义化版本控制(SemVer):

  • ^1.2.3:允许更新到1.x.x的最新版本
  • ~1.2.3:允许更新到1.2.x的最新版本
  • 1.2.3:固定版本
  • >=1.0.0:大于等于1.0.0

全局包管理

bash
# 查看全局安装的包
npm list -g --depth=0

# 查找全局包的安装位置
npm root -g

# 清理全局包缓存
npm cache clean --force

npm配置

bash
# 查看当前配置
npm config list

# 设置配置项
npm config set init-author-name "Your Name"
npm config set registry "https://registry.npmjs.org/"

# 查看特定配置
npm config get registry

搜索和查看包信息

bash
# 搜索包
npm search package-name

# 查看包信息
npm info package-name

# 查看包的特定版本信息
npm view package-name@latest version

安全审计

bash
# 检查项目中的安全漏洞
npm audit

# 自动修复安全漏洞
npm audit fix

# 强制修复(可能破坏兼容性)
npm audit fix --force

工作区 (Workspaces)

npm支持工作区,允许您管理多个包:

json
{
  "name": "my-workspace-project",
  "workspaces": [
    "packages/*",
    "frontend",
    "backend"
  ]
}

使用工作区:

bash
# 在所有工作区中安装依赖
npm install package-name --workspace=frontend

# 在所有工作区中运行脚本
npm run build --workspaces

常用快捷命令

bash
# 安装并保存依赖
npm i package-name

# 安装并保存开发依赖
npm i -D package-name

# 安装并保存为可选依赖
npm i package-name --save-optional

# 安装特定版本
npm i package-name@1.2.3

# 安装最新版本
npm i package-name@latest

现在您已经了解了npm的基础知识,可以开始在项目中使用npm来管理依赖和脚本了。接下来可以深入学习npm的高级功能和最佳实践。