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> | 安装指定版本(如 lodash@4.17.21 ) |
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 ) |
其他实用技巧
-
一次性安装多个包:
npm i axios lodash moment # 安装 axios、lodash、moment
-
安装最新版本:
npm i <package>@latest # 显式安装最新版(如 react@latest)
-
安装生产依赖(显式指定) :
npm i <package> --save-prod # 等价于 -S(一般可省略,默认行为)
-
强制清理缓存后安装(解决安装异常):
npm cache clean --force && npm i