当前位置: 首页 > news >正文

npm 常用命令及示例和解析


一、基础命令

1. 初始化项目

命令npm init
功能:生成 package.json 文件,记录项目元数据和依赖。
示例

npm init -y  # 使用默认配置快速生成 package.json

解析

  • -y 参数会跳过交互式问答,直接生成默认配置文件。

2. 安装依赖

命令npm install(或 npm i
功能:安装项目依赖包。
示例

npm install <package_name>      # 安装生产依赖(保存到 dependencies)
npm install <package_name> -D  # 安装开发依赖(保存到 devDependencies)
npm install <package_name> -g  # 全局安装包(如 `npm install -g nodemon`)

解析

  • -D(或 --save-dev):开发环境使用的工具(如 eslintwebpack)。
  • -g:全局安装后,可在任何目录下使用该包的命令(如 nodemon 启动服务)。
  • 指定版本npm install express@4.17.1

3. 卸载依赖

命令npm uninstall
功能:卸载已安装的包并同步 package.json
示例

npm uninstall <package_name>    # 卸载本地依赖
npm uninstall <package_name> -g # 卸载全局依赖

解析

  • 卸载后,package.json 中对应的依赖项也会被移除。

4. 运行脚本

命令npm run
功能:执行 package.json 中定义的脚本命令。
示例

npm run dev       # 执行 "dev" 脚本(如开发服务器)
npm run build     # 执行 "build" 脚本(如构建生产环境)
npm run test      # 执行测试脚本

解析

  • 脚本定义在 package.jsonscripts 字段中:
    "scripts": {
      "dev": "nodemon index.js",
      "build": "tsc"
    }
    

二、进阶命令

5. 更新依赖

命令npm update
功能:更新项目依赖到最新版本(根据 package.json 中的版本范围)。
示例

npm update                # 更新所有依赖
npm update <package_name> # 更新指定包

解析

  • 结合语义化版本控制(如 ^1.2.3),只会更新兼容版本。

6. 查看依赖

命令npm list(或 npm ls
功能:列出已安装的依赖包。
示例

npm list                 # 列出当前项目的依赖
npm list -g              # 列出全局安装的包
npm list --depth=0       # 仅显示顶级依赖

解析

  • 通过 --depth 参数控制显示层级深度。

7. 清理缓存

命令npm cache clean
功能:清除 npm 缓存(解决下载失败或冲突问题)。
示例

npm cache clean --force  # 强制清除缓存

解析

  • 当依赖安装失败时,可尝试清除缓存后重试。

8. 发布包到 npm

命令npm publish
功能:将本地包发布到 npm 公共仓库。
示例

npm publish           # 发布当前包
npm publish --tag beta # 发布带标签的版本(如 beta 测试版)

解析

  • 需先登录 npm login,且 package.json 中需有唯一 nameversion

三、版本控制相关

9. 语义化版本安装

示例

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,不安装依赖。
示例

npm ci                   # 根据 package-lock.json 安装精确版本

解析

  • package-lock.json 确保团队或生产环境依赖版本一致。

四、开发与调试

11. 启动应用

命令npm start
功能:运行 package.json 中定义的 "start" 脚本。
示例

npm start  # 默认启动生产环境(如 Express 服务)

解析

  • 需在 package.json 中定义 "start" 脚本:
    "scripts": {
      "start": "node index.js"
    }
    

12. 运行测试

命令npm test
功能:执行测试脚本(如 jestmocha)。
示例

npm test  # 运行测试用例

解析

  • 需在 package.json 中配置 "test" 脚本。

五、问题解决

13. 检查过期依赖

命令npm outdated
功能:列出项目中过时的依赖包。
示例

npm outdated  # 查看哪些包有更新版本

解析

  • 可结合 npm update 进行版本升级。

14. 修复安全漏洞

命令npm audit
功能:检查并修复项目中的安全漏洞。
示例

npm audit fix          # 自动修复漏洞(可能更新依赖)
npm audit              # 仅显示漏洞报告

解析

  • 若自动修复失败,需手动更新依赖或调整版本范围。

六、其他实用命令

15. 查看帮助

命令npm help
功能:查看 npm 命令的详细文档。
示例

npm help install  # 查看 npm install 的帮助文档
16. 查看包信息

命令npm view
功能:查看 npm 仓库中包的详细信息。
示例

npm view express version  # 查看 express 的最新版本号

七、典型场景示例

场景 1:Vue 项目开发
# 初始化项目
npm init -y

# 安装 Vue 依赖
npm install vue@^3.2.0 -S
npm install vite@latest -D

# 运行开发服务器
npm run dev  # 启动 Vite 开发环境(默认端口 3000)
场景 2:Node.js 后端服务
# 安装 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

总结

  • 基础操作initinstalluninstall 是日常开发的核心命令。
  • 依赖管理:通过 package.jsonpackage-lock.json 确保版本一致性。
  • 脚本扩展:利用 npm run 自定义开发、构建、测试流程。
  • 版本控制:善用 ^~ 符号避免依赖冲突,定期检查 npm outdatednpm audit

相关文章:

  • 位运算题目:连接连续二进制数字
  • python asyncio 的基本使用
  • HTTP 和 HTTPS 协议的区别及使用场景
  • Java微服务流量控制与保护技术全解析:负载均衡、线程隔离与三大限流算法
  • vue3 div 点击右键旁边出现弹窗 可做编辑删除 新增操作
  • 案例-索引对于并发Insert性能优化测试
  • 初阶数据结构--二叉树OJ训练
  • 渗透测试学习-概述
  • 搭载DeepSeek|暴雨AI教育一体机加速AI教育普及
  • # linux 设置宽容模式
  • onlyoffice 在线编辑集成
  • 【数据结构_8】栈和队列
  • Java基础——面试自我总结
  • Linux基础IO(七)之理解文件系统
  • 文心一言开发指南03——千帆大模型平台产品优势
  • 力扣每日打卡 3396. 使数组元素互不相同所需的最少操作次数(简单)
  • 【NLP】 22. NLP 现代教程:Transformer的训练与应用全景解读
  • 高速电路中的电阻、电容的选型及应用
  • SCP-Firmware安全通告:CVE-2024-11863和CVE-2024-11864
  • 数组中的第K个最大元素
  • 湖南平江发生人员溺亡事件,已造成4人死亡
  • 美方因涉港问题对中国官员滥施非法单边制裁,外交部:强烈谴责,对等反制
  • 中共中央办公厅、国务院办公厅印发《农村基层干部廉洁履行职责规定》
  • 日本乒乓名将丹羽孝希因赌博被禁赛6个月,曾获奥运男团银牌
  • 第13届京都国际摄影节,14位艺术家展现东西方视角:人性
  • 诺奖得主等数十位经济学家发表宣言反对美关税政策