npm
npm 是 Node.js 的包管理器,用于管理 Node.js 包和依赖关系。它允许你从全球的公共存储库或自己的私人存储库中下载并安装 Node.js 应用程序和软件包。
npm 使用的是 CommonJS 规范,将模块打包成一个个文件,以 package.json 的形式进行管理。
yarn
Yarn 是 Facebook 开发的新一代 JavaScript 依赖管理工具,与 npm 相似。Yarn 使用了缓存机制,提高了包的下载速度。
Yarn 使用的是 CommonJS 规范,将模块打包成一个个文件,以 yarn.lock 的形式进行管理。同时,Yarn 支持并行下载多个包,提高了性能。
pnpm
pnpm 是一款快速、轻量级的 npm 替代工具。pnpm 使用的是链接(symlink)的方式来创建依赖的副本,避免了重复下载,同时也减小了包的体积。
相对于 npm 和 yarn,pnpm 在安装和运行时的速度更快,同时也能够减小磁盘空间的占用。pnpm 可以很好地与 Git 和其他版本控制系统配合使用。
三者优缺点
npm
优点:
- npm 是 Node.js 官方的包管理工具,社区庞大,生态系统完善。
- 打包速度较快,支持多种包管理功能。
缺点:
- 包的下载速度较慢,因为需要进行重复下载和解压。
- 对于依赖的版本控制较弱,很难管理和解决依赖的版本冲突。
yarn
优点:
- 使用缓存机制,提高了包的下载速度。
- 支持并行下载多个包,提高了性能。
- 支持版本锁定,解决了版本控制的问题。
缺点:
- 对于依赖的更新较慢,需要手动更新。
- 在某些情况下会出现不稳定的情况。
pnpm
优点:
- 在安装和运行时的速度更快。
- 能够减小磁盘空间的占用。
- 能够很好地与 Git 和其他版本控制系统配合使用。
缺点:
-
在某些情况下会出现不稳定的情况。
-
对于一些少见的模块,可能会出现不兼容的情况。
常用命令
npm
npm install: 安装项目依赖npm install --save <package>: 安装并保存依赖到package.json文件的dependencies字段中npm install --save-dev <package>: 安装并保存依赖到package.json文件的devDependencies字段中npm uninstall <package>: 卸载依赖npm update: 更新所有已安装的依赖npm run <script>: 运行package.json中的脚本
Yarn
yarn install: 安装项目依赖yarn add <package>: 安装并保存依赖到package.json文件的dependencies字段中yarn add <package> --dev: 安装并保存依赖到package.json文件的devDependencies字段中yarn remove <package>: 卸载依赖yarn upgrade: 更新所有已安装的依赖yarn run <script>: 运行package.json中的脚本
pnpm
pnpm install: 安装项目依赖pnpm add <package>: 安装并保存依赖到package.json文件的dependencies字段中pnpm add <package> --save-dev: 安装并保存依赖到package.json文件的devDependencies字段中pnpm remove <package>: 卸载依赖pnpm update: 更新所有已安装的依赖pnpm run <script>: 运行package.json中的脚本