npm 开发中常用命令的整理,涵盖项目初始化、依赖管理、脚本执行等场景:
1. 项目初始化
-
npm init
初始化项目,生成
package.json
(交互式问答)。 -
npm init -y
快速初始化,跳过问答,直接生成默认的
package.json
。
2. 依赖管理
安装依赖
完整写法 | 简化写法 | 说明 |
---|---|---|
npm install |
npm i |
安装所有依赖(dependencies + devDependencies ) |
npm install <package> |
npm i <package> |
安装包到 dependencies (默认行为) |
npm install <package> --save |
npm i <package> -S |
显式保存到 dependencies (--save 可省略,默认行为) |
npm install <package> --save-dev |
npm i <package> -D |
安装到 devDependencies |
npm install <package> --global |
npm i <package> -g |
全局安装(如工具类包) |
npm install <package>@<version> |
npm i <package>@<version> |
安装指定版本(如 [email protected] ) |
npm install <pkg1> <pkg2> |
npm i <pkg1> <pkg2> |
一次性安装多个包 |
卸载依赖
完整写法 | 简化写法 | 说明 |
---|---|---|
npm uninstall <package> |
npm un <package> 或者 npm remove <package> 或者 npm rm <package> |
卸载包并移除 dependencies |
npm uninstall <package> --save-dev |
npm un <package> -D |
卸载开发依赖并移除 devDependencies |
npm uninstall <package> --global |
npm un <package> -g |
卸载全局安装的包 |
更新依赖
完整写法 | 简化写法 | 说明 |
---|---|---|
npm update |
npm up npm upgrade |
更新所有允许的依赖 |
npm update <package> |
npm up <package> |
更新指定包 |
npm outdated |
- | 查看过时的依赖(无常用简写) |
3. 脚本执行
命令 | 描述 | 常用选项/参数 | 示例 |
---|---|---|---|
npm run <script> |
执行 package.json 中定义的脚本 |
- --silent (隐藏日志) - -- <args> (传递参数给脚本) |
npm run dev -- --port 3000 |
npm start |
等同于 npm run start (默认启动脚本) |
无特殊选项 | npm start |
npm test 或 npm t |
等同于 npm run test (测试脚本) |
- --watch (监听模式) |
npm test -- --coverage |
npm run build |
常见用于构建生产代码的脚本 | 无 | npm run build |
npm run <script> --if-present |
仅当脚本存在时执行 | 无 | npm run deploy --if-present |
备注:
- 使用
--
可以向脚本传递参数,如npm run dev -- --debug
。 npm run
会列出所有可用脚本(不带参数时)。
4. 查看信息
命令 | 描述 | 常用选项/参数 | 示例 |
---|---|---|---|
npm list 或 npm ls |
查看项目依赖树 | - --depth=<n> (限制层级) - --global (全局依赖) - --prod (仅生产依赖) |
npm ls --depth=0 npm ls -g --depth=0 |
npm view <package> 或 npm v <package> |
查看包的详细信息(版本、依赖等) | - versions (所有版本) - dependencies (包的依赖) |
npm view react versions npm v lodash dependencies |
npm info <package> |
查看包的元数据(类似 npm view ) |
无 | npm info axios |
npm search <keyword> |
搜索 npm 仓库中的包 | - --searchopts (过滤条件) |
npm search "http client" |
npm outdated |
检查过时的依赖 | - --long (显示详细信息) |
npm outdated |
npm bin |
显示本地安装的可执行文件路径 | 无 | npm bin |
npm repo <package> |
在浏览器中打开包的代码仓库 | 无 | npm repo vite |
npm docs <package> |
打开包的文档页面 | 无 | npm docs react |
备注:
npm list --depth=0
可快速查看直接依赖,避免冗长的子依赖树。
5. 配置管理
命令 | 描述 | 常用选项/参数 | 示例 |
---|---|---|---|
npm config set <key> <value> |
设置配置项 | 无 | npm config set registry https://registry.npmmirror.com |
npm config get <key> |
获取配置项的值 | 无 | npm config get registry |
npm config list 或 npm config ls |
查看所有配置项 | - --global (查看全局配置) |
npm config list |
npm config delete <key> |
删除配置项 | 无 | npm config delete proxy |
npm config edit |
手动编辑配置文件 | 无 | npm config edit (全局:npm config edit -g ) |
常用配置项:
配置项 | 说明 | 示例值 |
---|---|---|
registry |
包下载源地址 | https://registry.npmmirror.com (淘宝镜像) |
proxy |
代理服务器地址 | http://proxy.example.com:8080 |
https-proxy |
HTTPS 代理地址 | http://proxy.example.com:8080 |
save-exact |
安装时保存精确版本号 | true (默认 false ) |
其他实用技巧
-
一次性安装多个包:
bashnpm i axios lodash moment # 安装 axios、lodash、moment
-
安装最新版本:
javanpm i <package>@latest # 显式安装最新版(如 react@latest)
-
安装生产依赖(显式指定) :
cssnpm i <package> --save-prod # 等价于 -S(一般可省略,默认行为)
-
强制清理缓存后安装(解决安装异常):
cssnpm cache clean --force && npm i