NPM 是 JavaScript 的包管理工具,既是在线开源代码仓库(npmjs.com),也是本地安装、更新、卸载和管理依赖的命令行工具;它通过 package.json 管理项目元信息与依赖,区分生产依赖(dependencies)和开发依赖(devDependencies),支持依赖安装、更新、卸载、查看及团队协作还原,并可通过镜像源加速国内访问。

NPM 是 JavaScript 的包管理工具,全称是 Node Package Manager,它既是在线的开源代码仓库(npmjs.com),也是本地用来安装、更新、卸载和管理项目依赖的命令行工具。
npm 的核心作用
前端或 Node.js 项目通常不会从零写所有功能,而是复用别人开发好的模块(比如处理日期的 date-fns、发 HTTP 请求的 axios)。npm 就是帮你快速找到、下载、引入并维护这些模块的工具。
初始化项目并生成 package.json
每个使用 npm 管理依赖的项目,都需要一个 package.json 文件,它是项目的“清单”,记录了项目名、版本、脚本命令和所用的依赖。
- 在项目根目录运行 npm init,按提示输入信息,会自动生成 package.json
- 想跳过提问直接生成默认配置,用 npm init -y
安装与保存依赖
安装包时要区分两类依赖:
立即学习“Java免费学习笔记(深入)”;
- 生产依赖(dependencies):项目运行时必需的,比如 react、lodash。安装命令:npm install lodash 或简写为 npm i lodash
- 开发依赖(devDependencies):只在开发阶段用,比如 webpack、eslint。安装命令:npm install webpack --save-dev 或 npm i webpack -D
安装后,对应依赖会自动写入 package.json 的 dependencies 或 devDependencies 字段,并下载到 node_modules 文件夹中。
更新、卸载与查看依赖
- 更新某个包:npm update lodash(按 package.json 中的版本范围升级)
- 卸载包:npm uninstall axios(会同时从 node_modules 删除,并从 package.json 移除记录)
- 列出已安装的包:npm list(加 --depth=0 只看顶层依赖)
- 检查过期依赖:npm outdated
团队协作与依赖还原
你不需要把 node_modules 提交到 Git。只要项目中有 package.json(和可选的 package-lock.json),其他人就能一键装好所有依赖:
- 运行 npm install(不带参数),npm 会读取 package.json 和 package-lock.json,精确安装相同版本的全部依赖
- package-lock.json 是自动生成的锁文件,确保不同机器安装的依赖版本完全一致,不应手动修改
小提醒
npm 默认使用公共源(https://registry.npmjs.org/),国内用户常因网络慢而卡住。可临时切淘宝镜像:npm config set registry https://registry.npmmirror.com;也可用 nrm 工具管理源切换。











