跳到主要内容

npm 完全使用教程(2025最新版)

本文档详细介绍 npm(Node Package Manager)的完整使用方法,从入门到高级特性,全部配有真实可运行的示例。

1. npm 是什么?

npm 是全球最大的 JavaScript 包管理系统,随 Node.js 一起安装。目前(2025年)最新版本为 npm 10.x(Node.js 20+ 自带)或 npm 11.x(Node.js 22+)。

官方网站:https://www.npmjs.com
官方文档:https://docs.npmjs.com

2. 初始化项目

# 创建项目文件夹
mkdir my-project
cd my-project

# 初始化 package.json(推荐交互式)
npm init

# 快速初始化(使用默认值)
npm init -y # 或 npm init --yes

生成的 package.json 示例:

{
"name": "my-project",
"version": "1.0.0",
"description": "一个示例项目",
"main": "index.js",
"scripts": {
"start": "node index.js",
"dev": "node index.js"
},
"keywords": ["demo", "example"],
"author": "张三 <zhangsan@example.com>",
"license": "MIT"
}

3. 安装包(重点)

3.1 本地安装(开发和生产依赖)

# 安装到 dependencies(生产环境需要)
npm install lodash

# 安装到 devDependencies(仅开发需要,如测试工具)
npm install jest --save-dev
# 或简写
npm install jest -D

# 安装特定版本
npm install lodash@4.17.21

# 安装最新主版本(^约束)
npm install express@latest

# 安装精确版本(锁死版本)
npm install axios@1.7.2 --save-exact
# 或使用配置自动加 ~
npm config set save-exact true

3.2 全局安装(命令行工具)

# 全局安装(如创建 React 项目工具)
npm install -g create-vite
npm install -g pnpm # 安装 pnpm
npm install -g serve # 静态服务器

4. 常用命令大全

命令说明示例
npm installnpm i安装 package.json 中所有依赖npm i
npm ci干净安装(用于 CI/CD,严格按 lock 文件)npm ci
npm install <pkg>安装包并保存到 dependenciesnpm i lodash
npm install <pkg> -D安装到 devDependenciesnpm i -D jest
npm uninstall <pkg>卸载包npm uninstall lodash
npm update更新所有依赖到允许的最新版本npm update
npm update <pkg>更新指定包npm update express
npm outdated查看有哪些包可以更新npm outdated
npm listnpm ls查看已安装的依赖树npm ls
npm run <script>运行 scripts 中定义的命令npm run dev
npm exec <cmd>npx临时执行包中的命令npx create-vite@latest my-app

5. scripts 脚本使用(非常重要)

package.json 中定义:

{
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"test": "jest",
"lint": "eslint src --ext .js,.ts,.vue",
"format": "prettier --write .",
"start": "node server.js",
"prepare": "husky install" // git hooks
}
}

常用组合脚本示例:

{
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"build:prod": "vite build --mode production",
"lint:fix": "eslint src --fix",
"type-check": "vue-tsc --noEmit",
"test": "jest",
"test:watch": "jest --watch",
"clean": "rimraf dist node_modules/.cache"
}
}

执行方式:

npm run dev
npm test
npm run build

6. npx 的强大用法

npx 是 npm 5.2+ 自带的临时执行工具,无需全局安装。

# 创建项目(最常用)
npx create-react-app my-app
npx create-vite@latest my-vue-app -- --template vue-ts
npx create-next-app@latest

# 临时运行某个工具
npx cowsay "Hello npm!"
npx tsc --init
npx eslint --init

# 执行本地项目中的命令(推荐替代 ./node_modules/.bin/xxx)
npx vite
npx jest --version

7. package-lock.json 和 npm shrinkwrap

  • package-lock.json:自动生成,记录实际安装的完整依赖树和版本
  • 永远提交到 git!确保团队和 CI 环境一致
  • npm ci 只会读取 lock 文件,速度更快、更严格

8. 发布自己的包到 npm

步骤1:注册账号

https://www.npmjs.com 注册

步骤2:登录终端

npm login
# 输入用户名、密码、邮箱

步骤3:准备包

确保 package.json 关键字段正确:

{
"name": "my-awesome-lib",
"version": "1.0.0",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": ["dist", "README.md"],
"publishConfig": {
"access": "public" // 组织作用域包用 "restricted"
}
}

步骤4:发布

npm publish
# 发布新版本(必须修改 version)
npm version patch # 1.0.0 → 1.0.1
npm version minor # 1.0.0 → 1.1.0
npm version major # 1.0.0 → 2.0.0
git push && git push --tags
npm publish

9. 常用配置(~/.npmrc 或项目 .npmrc)

# 设置国内镜像(加速下载)
registry=https://registry.npmmirror.com

# 或者使用官方淘宝镜像
registry=https://registry.npmjs.org/

# 精确安装(推荐)
save-exact=true

# 自动安装 peerDependencies(npm v7+)
auto-install-peers=true

# 严格使用 lock 文件
legacy-peer-deps=false

10. 推荐的最佳实践(2025)

# 1. 使用 npm ci 而不是 npm install(CI/CD)
npm ci

# 2. 使用 npx 替代全局安装
npx create-vite@latest

# 3. 使用 npm workspaces 管理 monorepo
# package.json
{
"workspaces": ["packages/*", "apps/*"]
}

# 4. 推荐使用 pnpm 或 bun(更快、更省磁盘)
# pnpm 安装:npm install -g pnpm
# bun 安装:curl -fsSL https://bun.sh/install | bash

结语

掌握以上内容,你已经完全精通 npm 的日常使用和高级特性了!

常用快捷命令速查:

npm i                 # 安装所有依赖
npm i lodash # 安装包
npm i -D vite # 开发依赖
npm run dev # 运行开发脚本
npx vite # 临时执行
npm outdated # 检查更新
npm update # 更新依赖
npm publish # 发布包