📜  yarn 2 (1)

📅  最后修改于: 2023-12-03 15:21:20.281000             🧑  作者: Mango

Yarn 2

Yarn 2 是一个快速、可靠且安全的 JavaScript 依赖管理工具。它是 Yarn 包管理器的下一个主要版本,专注于解决依赖管理中的一些常见问题。以下是 Yarn 2 的一些最重要的特性:

Workspaces

Workspaces 是 Yarn 2 中的一个核心概念,允许您以单一代码库的形式管理多个相关的包。每个 Workspace 可以有自己的依赖关系,并且能够方便地共享代码和资源。这种方式有助于提高开发效率和依赖管理的简洁性。

# 在 package.json 中配置 Workspaces

```json
{
  "workspaces": [
    "packages/*"
  ]
}

Workspace 之间依赖设置

在 package.json 中使用 workspace 字段设置 Workspace 之间的依赖关系。

{
  "name": "my-app",
  "workspaces": [
    "packages/*"
  ],
  "dependencies": {
    "package-1": "1.0.0",
    "package-2": "2.0.0"
  }
}

## Plug'n'Play

Yarn 2 引入了 Plug'n'Play 架构,它将模块直接从硬盘加载到内存中,而无需进行文件系统操作,从而显著提高了依赖解析和加载的速度。这种方式比传统的 node_modules 结构更高效,还可以减少硬盘空间的占用。

```markdown
# Plug'n'Play 设置

为了开启 Plug'n'Play,将以下内容添加到 .yarnrc.yml 文件中:

```yaml
nodeLinker: pnp

## Zero-Installs

Yarn 2 的 Zero-Installs 特性消除了传统项目中需要运行 `yarn install` 命令的需求。取而代之的是,项目中的依赖会在首次运行时直接被下载并且被缓存,从而加快了每次运行的速度,并且确保了多个开发人员之间依赖版本的一致性。

```markdown
# Zero-Installs 设置

为了开启 Zero-Installs,将以下内容添加到 .yarnrc.yml 文件中:

```yaml
installStatePath: .yarn/state

## 快速,可选的 P2P 安装

Yarn 2 引入了 P2P 安装(peer-to-peer)机制,通过在社区共享包之间共享依赖关系,可以显著减少重复下载的依赖包数量。这可降低网络流量和硬盘空间的占用,提高包安装速度。

```markdown
# P2P 安装配置

运行以下命令来开启 P2P 安装:

```shell
yarn pnpify --sdk vscode

## 安装 Yarn 2

您可以通过以下几种方式来安装 Yarn 2:

- 通过 npm 全局安装:`npm install -g yarn@berry`
- 使用 Yarn 自举安装:`yarn set version berry`

请注意,使用 Yarn 2 需要使用特定的 `.yarnrc.yml` 或 `.yarnrc` 文件来配置一些功能。

希望您能喜欢 Yarn 2,并从中受益!有关更多信息,请参阅 Yarn 2 的官方文档。