Yarn是一个由Facebook开发的快速、可靠、安全的依赖管理工具,用于有效地管理项目的依赖关系。它通过并行下载依赖项和缓存下载的软件包来提高性能,从而加快项目的构建时间。Yarn使用一个锁定文件(yarn.lock),确保在不同环境中安装的依赖项版本一致,提供了更可靠和确定的构建过程。Yarn通过检查下载的软件包的哈希值来确保软件包的安全性,防止了通过恶意软件包传播恶意代码的风险。
功能

快速:Yarn通过并行下载依赖项和缓存下载的软件包来提高性能,从而加快项目的构建时间。
可靠:Yarn使用一个锁定文件(yarn.lock),确保在不同环境中安装的依赖项版本一致,提供了更可靠和确定的构建过程。
安全:Yarn通过检查下载的软件包的哈希值来确保软件包的安全性,防止了通过恶意软件包传播恶意代码的风险。
特色
速度超快:Yarn缓存了每个下载过的包,所以再次使用时无需重复下载。同时利用并行下载以最大化资源利用率,因此安装速度更快。
离线模式:如果之前已经安装过依赖包,Yarn可以在离线模式下工作,无需再次下载。
简洁的命令行界面:Yarn提供了更简洁和友好的命令行界面,使得包管理更加方便。
同类软件对比
| 特性 | Yarn | npm |
| 性能 | 快速,并行下载和本地缓存机制 | 较慢,按队列执行每个package |
| 可靠性 | 使用锁定文件(yarn.lock)确保版本一致性 | 使用package-lock.json,但在早期版本中存在问题 |
| 安全性 | 检查软件包哈希值确保安全性 | 在早期版本中安全性较差,后续版本有所改进 |
| 离线模式 | 支持离线模式 | 不支持离线模式 |
| 用户体验 | 简洁的命令行界面 | 命令行界面相对复杂 |
使用说明
1. 安装Yarn
Windows:下载安装包,打开Yarn官方网站,选择“Download Installer”,下载最新版本的Yarn安装包。双击下载的安装包,根据提示完成安装。在安装过程中,可以选择Yarn的安装位置。如果没有进行修改,Yarn会被安装到默认的位置。安装完成后,打开命令提示符(cmd)或Powershell,输入`yarn version`,如果返回了Yarn的版本号,则说明安装成功。
macOS:使用Homebrew安装。首先安装Homebrew,打开终端,输入`/bin/bash -c "$(curl -fsSL )"`,安装完成后,输入`brew -v`验证是否安装成功。然后在终端输入`brew install yarn`安装Yarn,安装完成后,输入`yarn version`验证是否安装成功。
Linux(Ubuntu):添加Yarn的APT仓库,打开终端,输入`sudo apt-key adv keyserver keyserver. recv-keys 6A010CAA17F08146C2130DFD2497F5`和`echo "deb stable main" | sudo tee /etc/apt/sources.list.d/yarn.list`。然后输入`sudo apt update && sudo apt install yarn`进行安装,等待安装完成后,输入`yarn version`验证是否安装成功。
Linux(CentOS):添加Yarn的Yum仓库,打开终端,输入`curl silent location | sudo tee /etc/yum.repos.d/yarn.repo`。然后输入`sudo yum install yarn`进行安装,等待安装完成后,输入`yarn version`验证是否安装成功。
2. 初始化项目
在项目的根目录下创建一个新的`package.json`文件,用于记录项目的依赖信息。可以通过命令`yarn init`来交互式地创建这个文件。根据提示,输入项目的名称、版本、等信息,最终将生成一个基本的`package.json`文件。
3. 添加依赖
使用`yarn add [package-name]`命令来安装项目依赖。这将会在`package.json`文件中添加相应的依赖项,并在项目中生成一个`yarn.lock`文件,用于记录依赖的精确版本信息。如果要将一个依赖包添加到开发依赖中,可以运行`yarn add [package-name] dev`命令。在项目开发过程中,可能需要更新依赖包的版本以修复bug或添加新功能,可以使用`yarn upgrade [package-name]`命令来更新依赖包的版本,如果要将所有依赖包更新到最新版本,可以运行`yarn upgrade`命令。还可以通过`yarn remove [package-name]`命令来移除项目中的依赖。
4. 管理依赖
可以使用`yarn list`命令列出当前项目中已安装的所有依赖包及其版本信息。还可以通过`yarn cache list`命令列出已缓存的每个包,`yarn cache dir`命令返回全局缓存位置,`yarn cache clean`命令清除缓存。
相关应用
Yarn主要用于管理JavaScript项目的依赖关系,在现代的前端开发中,使用包管理工具来管理项目依赖是非常普遍的,Yarn可以帮助开发人员更好地管理项目中的各种依赖关系,使得项目开发变得更加轻松和可靠。