一、基础命令
1. 初始化项目
命令 :npm init
功能 :生成 package.json
文件,记录项目元数据和依赖。
示例:
bash
npm init -y # 使用默认配置快速生成 package.json
解析:
-y
参数会跳过交互式问答,直接生成默认配置文件。
2. 安装依赖
命令 :npm install
(或 npm i
)
功能 :安装项目依赖包。
示例:
bash
npm install <package_name> # 安装生产依赖(保存到 dependencies)
npm install <package_name> -D # 安装开发依赖(保存到 devDependencies)
npm install <package_name> -g # 全局安装包(如 `npm install -g nodemon`)
解析:
-D
(或--save-dev
):开发环境使用的工具(如eslint
、webpack
)。-g
:全局安装后,可在任何目录下使用该包的命令(如nodemon
启动服务)。- 指定版本 :
npm install [email protected]
。
3. 卸载依赖
命令 :npm uninstall
功能 :卸载已安装的包并同步 package.json
。
示例:
bash
npm uninstall <package_name> # 卸载本地依赖
npm uninstall <package_name> -g # 卸载全局依赖
解析:
- 卸载后,
package.json
中对应的依赖项也会被移除。
4. 运行脚本
命令 :npm run
功能 :执行 package.json
中定义的脚本命令。
示例:
bash
npm run dev # 执行 "dev" 脚本(如开发服务器)
npm run build # 执行 "build" 脚本(如构建生产环境)
npm run test # 执行测试脚本
解析:
-
脚本定义在
package.json
的scripts
字段中:json"scripts": { "dev": "nodemon index.js", "build": "tsc" }
二、进阶命令
5. 更新依赖
命令 :npm update
功能 :更新项目依赖到最新版本(根据 package.json
中的版本范围)。
示例:
bash
npm update # 更新所有依赖
npm update <package_name> # 更新指定包
解析:
- 结合语义化版本控制(如
^1.2.3
),只会更新兼容版本。
6. 查看依赖
命令 :npm list
(或 npm ls
)
功能 :列出已安装的依赖包。
示例:
bash
npm list # 列出当前项目的依赖
npm list -g # 列出全局安装的包
npm list --depth=0 # 仅显示顶级依赖
解析:
- 通过
--depth
参数控制显示层级深度。
7. 清理缓存
命令 :npm cache clean
功能 :清除 npm 缓存(解决下载失败或冲突问题)。
示例:
bash
npm cache clean --force # 强制清除缓存
解析:
- 当依赖安装失败时,可尝试清除缓存后重试。
8. 发布包到 npm
命令 :npm publish
功能 :将本地包发布到 npm 公共仓库。
示例:
bash
npm publish # 发布当前包
npm publish --tag beta # 发布带标签的版本(如 beta 测试版)
解析:
- 需先登录
npm login
,且package.json
中需有唯一name
和version
。
三、版本控制相关
9. 语义化版本安装
示例:
bash
npm install lodash@^4.17.21 # 允许次版本和修订号更新(如 4.x.x)
npm install react@~18.2.0 # 仅允许修订号更新(如 18.2.x)
npm install vue@next # 安装预发布版本(如实验性功能)
解析:
^
:主版本号不变时允许更新(如^2.1.3
→ 允许2.x.x
)。~
:次版本号不变时允许更新(如~2.1.3
→ 允许2.1.x
)。
10. 锁定版本
命令 :npm install --package-lock-only
功能 :仅生成 package-lock.json
,不安装依赖。
示例:
bash
npm ci # 根据 package-lock.json 安装精确版本
解析:
package-lock.json
确保团队或生产环境依赖版本一致。
四、开发与调试
11. 启动应用
命令 :npm start
功能 :运行 package.json
中定义的 "start"
脚本。
示例:
bash
npm start # 默认启动生产环境(如 Express 服务)
解析:
-
需在
package.json
中定义"start"
脚本:json"scripts": { "start": "node index.js" }
12. 运行测试
命令 :npm test
功能 :执行测试脚本(如 jest
或 mocha
)。
示例:
bash
npm test # 运行测试用例
解析:
- 需在
package.json
中配置"test"
脚本。
五、问题解决
13. 检查过期依赖
命令 :npm outdated
功能 :列出项目中过时的依赖包。
示例:
bash
npm outdated # 查看哪些包有更新版本
解析:
- 可结合
npm update
进行版本升级。
14. 修复安全漏洞
命令 :npm audit
功能 :检查并修复项目中的安全漏洞。
示例:
bash
npm audit fix # 自动修复漏洞(可能更新依赖)
npm audit # 仅显示漏洞报告
解析:
- 若自动修复失败,需手动更新依赖或调整版本范围。
六、其他实用命令
15. 查看帮助
命令 :npm help
功能 :查看 npm 命令的详细文档。
示例:
bash
npm help install # 查看 npm install 的帮助文档
16. 查看包信息
命令 :npm view
功能 :查看 npm 仓库中包的详细信息。
示例:
bash
npm view express version # 查看 express 的最新版本号
七、典型场景示例
场景 1:Vue 项目开发
bash
# 初始化项目
npm init -y
# 安装 Vue 依赖
npm install vue@^3.2.0 -S
npm install vite@latest -D
# 运行开发服务器
npm run dev # 启动 Vite 开发环境(默认端口 3000)
场景 2:Node.js 后端服务
bash
# 安装 Express 和开发依赖
npm install express@^4.17.1 -S
npm install nodemon@latest -D
# 配置 package.json 脚本
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
}
# 开发时自动重启
npm run dev
总结
- 基础操作 :
init
、install
、uninstall
是日常开发的核心命令。 - 依赖管理 :通过
package.json
和package-lock.json
确保版本一致性。 - 脚本扩展 :利用
npm run
自定义开发、构建、测试流程。 - 版本控制 :善用
^
、~
符号避免依赖冲突,定期检查npm outdated
和npm audit
。