介绍
Yarn 是 Node.js 的包管理器,专注于速度、安全性和一致性。 它最初是为了解决流行的 NPM 包管理器的一些问题而创建的。 尽管这两个包管理器在性能和特性方面已经趋同,但 Yarn 仍然很受欢迎,尤其是在 React 开发领域。
Yarn 的一些独特功能包括:
- 每个项目的缓存机制,可以大大加快后续的安装和构建
- 一致的、确定性的安装,保证已安装库的结构始终相同
- 对所有包进行校验和测试以验证其完整性
- “工作区”,便于在 monorepo 中使用 Yarn(在单个源代码存储库中开发的多个项目)
在本教程中,您将全局安装 Yarn,将 Yarn 添加到特定项目,并学习一些基本的 Yarn 命令。
先决条件
在安装和使用 Yarn 包管理器之前,您需要安装 Node.js。 要查看您是否已经安装了 Node.js,请在本地命令行终端中键入以下命令:
node -v
如果您看到一个版本号,例如打印的 v12.16.3
,那么您已经安装了 Node.js。 如果您收到 command not found
错误(或类似措辞),请在继续之前安装 Node.js。
要安装 Node.js,请按照我们的 Ubuntu、Debian、CentOS 或 macOS 教程进行操作。
安装 Node.js 后,继续执行步骤 1 安装 Yarn 包管理器。
第 1 步 — 全局安装 Yarn
Yarn 有一种独特的方式在你的 JavaScript 项目中安装和运行它自己。 首先全局安装 yarn
命令,然后使用全局 yarn
命令将 Yarn 的特定本地版本安装到项目目录中。 这对于确保在项目中工作的每个人(以及项目的所有自动化测试和部署工具)都运行完全相同版本的 yarn
以避免不一致的行为和结果是必要的。
Yarn 维护者建议使用 NPM 包管理器全局安装 Yarn,所有 Node.js 安装都默认包含该包管理器。 使用带有 npm install
的 -g
标志来执行此操作:
sudo npm install -g yarn
包安装后,让 yarn
命令打印它自己的版本号。 这将让您验证它是否已正确安装:
yarn --version
Output1.22.11
现在您已经全局安装了 yarn
命令,您可以使用它将 Yarn 安装到特定的 JavaScript 项目中。
第 2 步 — 在您的项目中安装 Yarn
如果您使用 Yarn 处理现有的基于 Yarn 的项目,则可以跳过此步骤。 该项目应该已经设置了本地版本的 Yarn 以及使用它所需的所有配置文件。
如果您正在设置自己的新项目,您现在需要配置特定于项目的 Yarn 版本。
首先,导航到您的项目目录:
cd ~/my-project
如果你没有项目目录,你可以用 mkdir
新建一个,然后进入它:
mkdir my-project cd my-project
现在使用 yarn set
命令将版本设置为 berry
:
yarn set version berry
这将下载当前积极开发的 Yarn 版本 - berry
- 将其保存到项目中的 .yarn/releases/
目录,并设置 .yarnrc.yml
配置文件:
OutputResolving berry to a url... Downloading https://github.com/yarnpkg/berry/raw/master/packages/berry-cli/bin/berry.js... Saving it into /home/sammy/my-project/.yarn/releases/yarn-berry.cjs... Updating /home/sammy/my-project/.yarnrc.yml... Done!
现在再次尝试 yarn --version
命令:
yarn --version
Output3.0.0
您会看到版本为 3.0.0
或更高版本。 这是 Yarn 的最新版本。
注意:如果你cd
退出你的项目目录并再次运行yarn --version
,你将再次得到global Yarn的版本号,[ X152X] 在这种情况下。 每次运行 yarn
时,您都在使用该命令的全局安装版本。 全局 yarn
命令首先检查它是否在带有 .yarnrc.yml
文件的 Yarn 项目目录中,如果是,它将命令交给项目特定版本的 Yarn 配置项目的 yarnPath
设置。
现在,您的项目已使用特定于项目的 Yarn 版本进行设置。 接下来我们将看一些常用的yarn
命令来开始使用。
使用纱线
Yarn 有很多子命令,但您只需要几个就可以开始使用。 让我们看一下您要使用的第一个子命令。
获得帮助
开始使用任何新工具时,了解如何访问其在线帮助很有用。 在 Yarn 中,可以将 --help
标志添加到任何命令中以获取更多信息:
yarn --help
这将打印出 yarn
命令的整体帮助。 要获取有关子命令的更多具体信息,请在子命令后添加 --help
:
yarn install --help
这将打印出有关如何使用 yarn install
命令的详细信息。
开始一个新的纱线项目
如果您从头开始一个项目,请使用 init
子命令来创建您需要的特定于 Yarn 的文件:
yarn init
这会将 package.json
配置文件和 yarn.lock
文件添加到您的目录。 package.json
包含配置和你的模块依赖列表。 yarn.lock
文件 将这些依赖项锁定 到特定版本,确保依赖关系树始终一致。
安装项目的所有依赖项
要在现有的基于 Yarn 的项目中下载并安装所有依赖项,请使用 install
子命令:
yarn install
这将下载并安装您开始所需的模块。
向项目添加新依赖项
使用 add
子命令将新的依赖项添加到项目中:
yarn add package-name
这将下载模块、安装它并更新您的 package.json
和 yarn.lock
文件。
更新 Yarn 的 .gitignore
文件
Yarn 将文件存储在项目目录内的 .yarn
文件夹中。 其中一些文件应检查到版本控制中,而其他文件应忽略。 Yarn 的基本 .gitignore
配置如下:
.gitignore
.yarn/* !.yarn/patches !.yarn/releases !.yarn/plugins !.yarn/sdks !.yarn/versions .pnp.*
这会忽略整个 .yarn
目录,然后为重要文件夹添加一些例外,包括包含项目特定版本 Yarn 的 releases
目录。
有关如何配置 Git 和 Yarn 的更多详细信息,请参阅 .gitignore 上的 Yarn 官方文档。
结论
在本教程中,您安装了 Yarn 并了解了一些 yarn
子命令。 有关使用 Yarn 的更多信息,请查看 官方 Yarn CLI 文档 。
如需更一般的 Node.js 和 JavaScript 帮助,请访问我们的节点.js 和 JavaScript 标签页面,您可以在其中找到相关教程、技术讲座和社区问答。