常见的node包管理器💥

2023/10/31

# npm

npm 是 Node.js 的官方包管理器,也是 JavaScript 生态系统中最受欢迎的包管理器之一。npm 具有许多强大的功能,例如自动依赖项解析和版本控制。但是,由于它是单线程解析依赖项,因此安装速度可能相对较慢。

优点

  • 官方支持:npm 是 Node.js 的官方包管理器,因此它得到了广泛的支持和使用。
  • 自动依赖项解析:npm 可以自动解析项目中的依赖项,并安装所需的软件包。
  • 版本控制:npm 使用 package-lock.json 文件来确保安装过程中使用相同的依赖项版本。
  • 社区支持:npm 有一个庞大的社区,可以提供大量的软件包和资源。

缺点

  • 安装速度较慢:由于 npm 是单线程解析依赖项,因此安装速度可能相对较慢。
  • 文件冲突:由于 npm 使用 package-lock.json 文件来锁定依赖项版本,因此在多人协作时可能会出现文件冲突问题。

# yarn

yarn 是 Facebook 开发的包管理器,旨在解决 npm 的一些问题。yarn 通过并行下载和缓存来加快安装速度,并通过锁定文件确保安装过程中使用相同的依赖项版本。此外,yarn 还提供了一些其他功能,例如离线模式和更好的脚本执行。

优点

  • 安装速度快:由于 yarn 可以并行下载和缓存软件包,因此安装速度通常比 npm 快。
  • 版本控制:yarn 使用 yarn.lock 文件来确保安装过程中使用相同的依赖项版本。
  • 离线模式:yarn 支持离线模式,可以在没有互联网连接的情况下工作。
  • 更好的脚本执行:yarn 通过更好的脚本执行功能,使得运行脚本变得更加容易

缺点

  • Facebook 集中控制:由于 yarn 是由 Facebook 开发的,因此有人担心 Facebook 可能会在未来控制 yarn 的发展方向。
  • 依赖项缓存:yarn 将所有软件包都缓存在本地,这可能会占用大量磁盘空间。

# pnpm

pnpm 是另一个 JavaScript 包管理器,它与 npm 和 yarn 相比有一些不同之处。pnpm 具有类似于 yarn 的速度和稳定性,但与 yarn 不同的是,它采用了一种不同的依赖项解析方法,即将依赖项安装在单个位置,并使用符号链接将它们链接到每个项目中。

优点

  • 安装速度最快:由于 pnpm 可以共享依赖项,因此它可以更快地安装和更新模块。
  • 多线程解析:与 yarn 类似,pnpm 也可以使用多线程解析依赖项。
  • 离线模式:pnpm 支持离线模式,并且可以在没有互联网连接的情况下工作。
  • 更好的内存管理:pnpm 使用更好的内存管理技术,可以更有效地利用系统资源。

缺点

  • 相对较新:由于 pnpm 是较新的包管理器,因此可能会缺乏一些 npm 和 yarn 中的功能和资源。
  • 可能存在兼容性问题:由于 pnpm 采用了不同的依赖项解析方法,因此可能会存在一些兼容性问题。

# 结论

在选择 Node.js 包管理器时,需要考虑项目的需求和团队的偏好。如果需要官方支持和大量的社区支持,则可以选择 npm。如果需要更快的安装速度和更好的版本控制,则可以选择 yarn。如果需要更快的安装速度和更好的内存管理,则可以选择 pnpm。

详情

# 安装

# npm(安装node自带,可以升级到最新)

  • 安装设置淘宝镜像:npm config set registry https://registry.npmmirror.com

# yarn

  • 安装:npm install -g yarn
  • 查看是否成功:yarn -v
  • 设置yarn镜像源:yarn config set npmRegistryServer https://registry.npm.taobao.org

常用命令

  • 初始化:yarn init
  • 添加依赖包:yarn add [package] # 会自动安装最新版本,会覆盖指定版本号 | yarn add [package] [package] [package] # 一次性添加多个包 | yarn add [package]@[version] # 添加指定版本的包

# pnpm

  • 安装:npm install -g pnpm
  • 查看源:pnpm config get registry
  • 设置pnpm镜像源:pnpm set registry https://registry.npm.taobao.org

常用命令

  • 安装包:pnpm install 包
  • 添加依赖包:pnpm add 包 -D | pnpm add -g // 全局安装
    DEAR JOHN - 比莉
    比莉