Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,让JavaScript能够在服务器端运行。NPM(Node Package Manager)是Node.js的包管理器,可用于安装、更新、删除JavaScript包和依赖。
Node.js是时下最流行的JavaScript运行环境,用于构建后端应用、移动应用、游戏服务器等环境,它的出现,使得JavaScript可以作为后端语言在服务器端运行,为开发人员提供了新的可能性。
本教程不过多讨论Node.js作为运行环境的内容,仅对Node.js及Npm用于包管理的内容展开介绍,并在最后补充NPM的流行替代品PNPM的安装与使用。
前置教程
如想快速开始学习本教程,你可能需要先完成以下前置教程:
- Git的安装与基本使用教程,与本教程为相关关系,Git常与Node.js、NPM配合用于项目开发中的版本管理,可按需参考。
资源下载
- Node.js官网下载地址
- Node.js网盘下载地址-解决网络环境不佳下载过慢的问题
1. Node.js技术简介
1.1 Node.js的核心优势
- 跨平台支持:Windows、macOS、Linux全平台兼容
- V8引擎:Google Chrome的高性能JavaScript引擎
- 事件驱动:非阻塞I/O模型,适合高并发应用
- 生态系统:NPM拥有世界上最大的软件库
- 全栈JavaScript:可实现前后端统一开发语言
1.2 NPM的作用
- 包管理:安装、更新、删除JavaScript包和依赖(可以理解为基于Node.js的各类外部应用)
- 版本控制:精确管理项目依赖版本
- 脚本运行:定义和执行项目脚本命令
- 发布管理:发布和分享自己的包
2. Node.js安装与配置
2.1 下载与安装
请通过官网或网盘(可解决网络环境不佳下载过慢的问题)下载Node.js安装包。
安装步骤:
- 双击运行安装程序
- 接受许可协议
- 选择安装路径(默认:C:\Program Files\nodejs\)
- 点击"Next"进行安装
- 完成安装向导
2.2 验证安装
打开命令提示符(CMD)或PowerShell:
# 检查Node.js版本
node --version
# 检查NPM版本
npm --version
# 检查NPX版本
npx --version
# 查看Node.js安装路径
where node
# 查看NPM安装路径
where npm
2.3 配置环境变量
为保证在系统全局使用Node.js,需要在系统环境变量PATH中添加Node.js安装路径:
- 在Windows搜索栏中搜索环境变量,打开系统环境变量编辑器。
- 点击"环境变量"
- 点击"Path"
- 编辑"Path",在末尾添加Node.js安装路径,如:
C:\Program Files\nodejs\# 基于 where node 命令获取的路径

3. NPM基础使用
3.1 配置镜像源
打开命令提示符(CMD)或 PowerShell,执行以下命令:
# 设置镜像源(提高下载速度)
npm config set registry https://registry.npmmirror.com/
# 查看当前镜像源
npm config get registry
3.2 安装包
以下内容为安装包的示例,根据实际情况进行调整,这里选用express包作为示例。
express是一个基于Node.js的HTTP服务器,用于构建Web应用和API。
# 安装最新版本
npm install express
# 安装指定版本
npm install express@4.18.0
# 安装最新稳定版本(不带@latest后缀)
npm install express@stable
# 安装多个包
npm install express lodash moment
# 从GitHub安装
npm install https://github.com/expressjs/express.git
3.3 查看和管理包
# 查看项目依赖
npm list
# 查看全局包
npm list -g
# 查看过时的包
npm outdated
# 检查包信息
npm info express
# 查看包的版本历史
npm view express versions
# 搜索包
npm search "http server"
3.4 更新和卸载包
# 更新包到最新版本
npm update
# 更新指定包
npm update express
# 卸载包
npm uninstall express
# 清理缓存
npm cache clean --force
# 验证缓存
npm cache verify
4. NPX使用详解
4.1 NPX基础概念
NPX(Node Package Execute)是NPM 5.2.0+版本自带的包执行器,主要功能:
- 临时执行:无需全局安装即可运行npm包
- 版本测试:方便测试不同版本的包
- 本地命令:执行本地安装的包命令
- 安全隔离:避免全局污染
4.2 NPX基础使用
执行远程包
# 直接执行远程包(无需安装)
npx create-react-app my-app
# 执行指定版本
npx create-react-app@5.0.0 my-app
# 执行GitHub上的包
npx https://github.com/user/repo
执行本地包
# 执行本地安装的包
npm install jest
npx jest --version
# 执行本地包的特定版本
npx jest@24.0.0 --version
# 在特定目录执行
npx --prefix ./src jest
5. PNPM使用详解
5.1 PNPM基础概念
PNPM(Performant NPM)是Node.js生态中的第三方包管理器,定位为NPM的高速替代方案。它使用与NPM相同的package.json和npm镜像仓库,现有项目可以无缝切换。其核心特性:
- 节省磁盘空间:所有下载过的包在全局只存储一份(内容寻址存储),各项目通过硬链接引用,避免同一依赖在多个项目中重复占用磁盘
- 安装速度快:并行下载叠加全局缓存复用,依赖安装速度通常显著快于NPM
- 严格的依赖结构:项目只能直接访问
package.json中声明过的依赖,避免"幽灵依赖"问题(即代码中使用了未声明的包,换台机器就运行报错) - 兼容NPM生态:
package.json无需修改,依赖来自同一个npm仓库
| 对比维度 | NPM | PNPM |
|---|---|---|
| 安装速度 | 常规 | 更快(并行下载加缓存复用) |
| 磁盘占用 | 每个项目各自存一份依赖 | 全局共享一份,硬链接复用 |
| 依赖访问 | 扁平化结构,可能访问到未声明的包 | 严格模式,只能访问声明过的依赖 |
| 锁定文件 | package-lock.json | pnpm-lock.yaml |
5.2 PNPM安装与配置
安装PNPM
打开命令提示符(CMD)或 PowerShell,推荐通过NPM全局安装:
# 通过NPM全局安装PNPM
npm install -g pnpm
# 验证安装
pnpm --version
# 查看全局存储路径(所有包的共享仓库)
pnpm store path
也可以不依赖Node.js,使用PowerShell脚本独立安装:
# PowerShell独立安装(无需Node.js环境)
iwr https://get.pnpm.io/install.ps1 -useb | iex
配置镜像源
PNPM与NPM共用同一个镜像仓库,同样建议配置国内镜像源提高下载速度:
# 设置镜像源(提高下载速度)
pnpm config set registry https://registry.npmmirror.com/
# 查看当前镜像源
pnpm config get registry
5.3 PNPM基础使用
PNPM的命令与NPM高度相似,以下示例沿用前文express包进行演示:
# 初始化项目(生成package.json)
pnpm init
# 安装package.json中声明的全部依赖
pnpm install
# 安装运行依赖
pnpm add express
# 安装指定版本
pnpm add express@4.18.0
# 安装开发依赖(如测试框架jest)
pnpm add -D jest
# 全局安装
pnpm add -g typescript
# 卸载包
pnpm remove express
# 更新全部依赖
pnpm update
# 查看项目依赖
pnpm list
# 查看过时的包
pnpm outdated
# 运行package.json中定义的脚本
pnpm run dev
# 简写形式(run可省略)
pnpm dev
如果你的团队项目已经使用NPM且工作正常,无需强行迁移;当遇到依赖安装慢、磁盘占用高或幽灵依赖报错等问题时,PNPM是值得尝试的替代方案。
举手提问