JavaScript 包管理核心是 npm 或 yarn,基于 package.json 管理依赖,依赖安装、锁定、升级、清理需严格区分环境并统一工具。

JavaScript 包管理的核心是用 npm 或 yarn 统一下载、安装、更新和维护项目依赖。它们都基于 package.json 文件记录依赖关系,区别 主要在安装机制、锁文件格式和默认行为上。
初始化项目并生成 package.json
新建项目目录后,运行以下任一命令即可创建标准的 package.json:
-
npm init(交互式提问,推荐加-y跳过) -
yarn init(同样支持-y快速初始化)
生成的文件包含项目名称、版本、入口、脚本等元信息,更重要的是 dependencies 和 devDependencies 字段,分别存放生产环境和 开发环境 所需的包。
安装与保存依赖
安装包时需明确用途,避免误将开发 工具 混入生产依赖:
立即学习“Java 免费学习笔记(深入)”;
-
npm install lodash --save(写入dependencies,--save在 npm 5+ 已默认) -
npm install eslint --save-dev(写入devDependencies) -
yarn add lodash(默认为dependencies) -
yarn add eslint --dev(等价于--save-dev)
注意:不带 --save 或 --dev 直接安装,npm 会报错;yarn 则会默认加到 dependencies,需手动指定 --dev 分离。
统一还原与版本锁定
团队协作中,确保所有人安装完全一致的依赖版本至关重要:
-
npm install读取package.json并根据package-lock.json安装精确版本 -
yarn install使用yarn.lock锁定版本,首次安装还会生成该文件
两个锁文件都不能被忽略,必须提交到 Git。删除 node_modules 后,仅靠 package.json 无法还原原始依赖树,锁文件才是关键依据。
升级与清理依赖
升级分两种场景:小版本修复(推荐)或大版本跃迁(需谨慎):
-
npm update lodash升级到符合package.json版本范围的最新小 / 中版本 -
yarn upgrade lodash行为类似,但会同步更新yarn.lock - 要升级到新主版本(如从 v4 到 v5),直接
npm install lodash@5或yarn add lodash@5 - 移除不用的包:
npm uninstall axios或yarn remove axios,自动更新配置和锁文件
定期检查过时依赖:npm outdated 或 yarn outdated 可列出可升级项及其当前 / 期望 / 最新版本。
不复杂但容易忽略:始终用同一工具管理一个项目,不要混用 npm 和 yarn;锁文件要提交;生产环境部署前务必用 npm ci 或 yarn install --frozen-lockfile 确保零偏差安装。