npm 常用命令及示例和解析


一、基础命令

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 express@4.17.1。

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。
相关推荐
JudithHuang8 分钟前
React 常用 Hooks
前端·react.js·前端框架
sycmancia1 小时前
Qml——Window元素使用
前端
每天都好困1 小时前
03 AR 投影与误差修正:把地图上的点贴到视频画面上
前端
每天都好困1 小时前
04 地图图层封装:像管理 Photoshop 图层一样管理地图元素
前端
去伪存真2 小时前
构建你的第一个 DevOps AI Agent:自动化捕获、分析并修复 CI 故障
前端·agent
niucloud-admin2 小时前
JAVA V6 多商户商城 开发文档——手机端前端
java·开发语言·前端
skywalk81632 小时前
deepseekharness在对话中,有四种模式,分别是极简、PTC、创造和标准模式,每种模式下挂载的插件、skill等数量不一样
前端·人工智能·实践
愛芳芳2 小时前
element-plus+vite+vue3+pinpa+mock+typeScript搭建经典的电商管理后台
前端·javascript·typescript
2601_962177302 小时前
Windows 安装 Codex CLI 入门级教程
人工智能·windows·node.js·ai编程
liangshanbo12153 小时前
面试题:常见的前端构建工具有哪些?分别适用于什么场景?
前端