pnpm、yarn、npm

607 阅读2分钟

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 中的脚本