简介
Yarn是一个用于Node.js的包管理器,专注于速度、安全和一致性。它最初是为了解决流行的NPM包管理器的一些问题而创建的。尽管这两个软件包管理器在性能和功能方面已经趋于一致,但Yarn仍然很受欢迎,特别是在React开发领域。
Yarn的一些独特功能是。
- 每个项目的缓存机制,可以大大加快后续安装和构建的速度
- 一致的、确定性的安装,保证所安装的库的结构总是相同的
- 对所有软件包进行校验,以验证其完整性
- "工作空间",便于在一个单库中使用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。使用-g
标志和npm install
来完成这个工作。
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
,你会再次得到_全局Yarn_的版本号,在这种情况下是1.22.11
。每次你运行yarn
,你都在使用全局安装的命令版本。全局的yarn
命令首先检查它是否在Yarn项目目录下,并有一个.yarnrc.yml
文件,如果是,它就把命令交给在项目的yarnPath
设置中配置的特定项目版本的Yarn。
你的项目现在已经设置了一个项目专用的Yarn版本。接下来我们将看看几个常用的yarn
命令,以便开始使用。
使用Yarn
Yarn有许多子命令,但你只需要几个子命令就可以开始了。让我们看看你要使用的第一批子命令。
获得帮助
当开始使用任何新的工具时,学习如何访问其在线帮助是很有用的。在Yarn中,--help
标志可以被添加到任何命令中以获得更多信息。
yarn --help
这将打印出yarn
命令的整体帮助。要想获得关于某个子命令的更具体的信息,可以在子命令后面加上--help
。
yarn install --help
这将打印出关于如何使用yarn install
命令的细节。
开始一个新的Yarn项目
如果你要从头开始一个项目,使用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
目录,然后为重要的文件夹添加一些例外,包括releases
目录,其中包含你的项目特定版本的Yarn。
关于如何配置 Git 和 Yarn 的更多细节,请参考Yarn 的官方文档.gitignore
。
总结
在本教程中,你安装了Yarn并了解了一些yarn
子命令。关于使用Yarn的更多信息,请看官方的Yarn CLI文档。
更多关于Node.js和JavaScript的一般帮助,请访问我们的Node.js和JavaScript标签页面,在那里你可以找到相关的教程、技术讲座和社区问答。