概述
NPM 是 Node.js 的默认包管理器。它是一个在线存储库,包含数百万个用于发布项目的包以及用于与项目交互的命令行工具。Yarn 是由 Facebook 发起的包管理器,旨在解决 NPM 的缺点,并提供更高级的包管理工具来促进整体开发工作流程。
介绍
包管理器是一种软件工具,可用于管理项目正常运行所需的依赖项。
什么是项目的依赖关系?每个项目都有一个package.json文件,其中包含称为依赖项的对象,这些对象包含项目中使用的所有包及其版本。
包管理器包括元数据,即有关软件的所有信息、运行软件所需的配置文件和一些软件二进制文件。
包管理器的一些功能包括:
- 诚信与信任
- 易于管理
- 包分组
- 避免依赖地狱
当今开发人员中最受欢迎的两个包管理器是 NPM 和 Yarn。
包管理器的使用
包管理器是一种编程语言工具,用于创建项目环境并轻松导入外部依赖项(也称为“包”)。
要使包管理器正常工作,它需要知道在哪里安装包,这是以包注册表的形式。包注册表是发布包并可从中安装包的中心位置。
每个包管理器都有不同的功能,并且针对不同的要求(如安装速度或存储消耗)以不同的方式使用,但它们都共享一组核心概念。所有包管理器都能够执行以下操作:
- 处理和写入元数据
- 安装、删除、添加和更新依赖项
- 运行脚本
- 发布包
- 执行安全审计
什么是纱线(Yarn)?
Yet Another Resource Negotiator 或 Yarn 是 Facebook 于 2016 年 10 月发起的包管理器,现在得到了 Google、Exponent 和 Tilde 等公司的支持。它的创建是为了解决 npm 的缺点,并提供更高级的包管理工具,以促进整体开发工作流程。
开发者选择 npm 而不是 yarn 的主要原因是易用性、稳定性和可用性。
Yarn 的一些特点是:
1. 离线模式或零安装功能:如果软件包已经安装,Yarn 会在内部缓存中提供它,以便可以在没有互联网连接的情况下安装它。此内置缓存功能可加快安装过程。
2. 改进的网络性能和弹性:Yarn 将所有请求排队,以防止请求级联并最大限度地提高网络利