秒懂Yarn:从安装到配置的全流程详解

简介: **Yarn**是Facebook推出的JavaScript包管理器,旨在提供更快、更安全的依赖管理。它通过并行安装、离线模式、版本锁定和友好的命令行界面提升效率。要安装Yarn,可以使用npm、Homebrew或Chocolatey。基本命令包括初始化项目(`yarn init`)、安装/移除/升级依赖(`yarn add/remove/upgrade`)。配置Yarn涉及设置`.yarnrc`文件,如更改registry。通过`yarn.lock`文件保证依赖一致性。文章还提供了使用Yarn进行API测试和项目管理的实战案例。

👍 个人网站:【 洛秋小站

秒懂Yarn:从安装到配置的全流程详解

Yarn是由Facebook推出的一个新的JavaScript包管理工具,解决了许多开发人员在使用npm时遇到的痛点。Yarn的出现大大提高了包管理的速度、安全性和可靠性。本篇博客将从Yarn的安装、配置到使用进行详细介绍,并通过实际案例帮助读者快速掌握Yarn的基本用法。

一、什么是Yarn?

Yarn是一个由Facebook、Google、Exponent 和 Tilde 共同开发的新的包管理工具。它与npm相似,用于管理项目的依赖,但它在性能、安全性和一致性方面做了许多改进。

二、Yarn的优势

1. 速度快

Yarn通过并行化操作大大提升了依赖安装的速度。与npm串行安装不同,Yarn可以同时执行多个任务,从而更快速地完成依赖安装。

2. 离线模式

Yarn支持离线模式,即使在没有网络的情况下,也能安装依赖包。Yarn会缓存下载过的每一个包,下一次安装时直接从缓存中读取,大大提升了安装速度。

3. 确定性

Yarn使用yarn.lock文件锁定依赖包的版本,确保每次安装的依赖包版本一致,避免了“今天能用明天不能用”的情况。

4. 更好的语义化

Yarn的命令和输出信息更友好、更易读,方便开发人员理解和使用。

三、安装Yarn

1. 通过npm安装Yarn

如果已经安装了npm,可以通过以下命令安装Yarn:

npm install -g yarn

2. 通过Homebrew安装(适用于macOS)

在macOS上,可以通过Homebrew安装Yarn:

brew install yarn

3. 通过Chocolatey安装(适用于Windows)

在Windows上,可以通过Chocolatey安装Yarn:

choco install yarn

4. 验证安装

安装完成后,可以通过以下命令验证Yarn是否安装成功:

yarn --version

四、Yarn的基本命令

1. 初始化项目

yarn init

该命令会引导你创建一个package.json文件,用于描述项目的基本信息和依赖。

2. 安装依赖

yarn add [package]

例如,安装lodash库:

yarn add lodash

3. 删除依赖

yarn remove [package]

例如,删除lodash库:

yarn remove lodash

4. 升级依赖

yarn upgrade [package]

例如,升级lodash库:

yarn upgrade lodash

5. 安装所有依赖

yarn install

该命令会根据package.jsonyarn.lock文件安装所有项目依赖。

五、配置Yarn

1. 配置文件

Yarn的配置文件位于用户目录下的.yarnrc和项目目录下的.yarnrc文件。可以通过以下命令设置全局配置:

yarn config set [key] [value]

例如,设置全局的registry:

yarn config set registry https://registry.npm.taobao.org

2. 查看配置

可以通过以下命令查看当前的Yarn配置:

yarn config list

3. 配置镜像源

为了提升下载速度,特别是在中国大陆,通常会配置淘宝的镜像源:

yarn config set registry https://registry.npm.taobao.org

六、使用Yarn进行依赖管理

1. 添加依赖

可以通过yarn add命令添加依赖包。默认情况下,添加的依赖会被写入dependencies字段。例如:

yarn add react

如果需要将依赖添加到devDependencies字段,可以使用-D--dev参数:

yarn add jest -D

2. 移除依赖

通过yarn remove命令可以移除依赖包。例如:

yarn remove react

3. 升级依赖

通过yarn upgrade命令可以升级依赖包。例如:

yarn upgrade react

如果需要升级所有的依赖包,可以使用:

yarn upgrade

4. 锁定依赖版本

Yarn会生成一个yarn.lock文件,用于锁定依赖包的版本。每次安装依赖时,Yarn会参考该文件,确保安装的依赖版本一致。

七、测试接口与详细解释

在项目开发过程中,我们经常需要测试API接口。通过Yarn,我们可以安装和使用一些测试工具来完成这一任务。这里,我们以安装和使用axiosjest为例,进行API接口测试。

1. 安装axios和jest

首先,通过Yarn安装axiosjest

yarn add axios
yarn add jest -D

2. 创建API测试文件

在项目根目录下创建一个api.test.js文件,用于编写测试代码。例如:

const axios = require('axios');

test('fetches data from API', async () => {
   
    const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1');
    expect(response.status).toBe(200);
    expect(response.data).toHaveProperty('id', 1);
});

3. 配置jest

package.json文件中添加以下配置,以便使用jest运行测试:

{
   
  "scripts": {
   
    "test": "jest"
  }
}

4. 运行测试

通过以下命令运行测试:

yarn test

如果测试通过,终端会显示测试成功的信息。

八、实践案例

为了更好地理解Yarn的用法,我们将创建一个简单的项目,并使用Yarn进行依赖管理和测试。

1. 初始化项目

在项目根目录下,通过以下命令初始化项目:

yarn init -y

2. 添加依赖

安装expressaxios

yarn add express axios

安装jest作为开发依赖:

yarn add jest -D

3. 创建项目文件

创建一个server.js文件,内容如下:

const express = require('express');
const axios = require('axios');

const app = express();

app.get('/data', async (req, res) => {
   
    try {
   
        const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1');
        res.json(response.data);
    } catch (error) {
   
        res.status(500).send(error.message);
    }
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
   
    console.log(`Server is running on port ${
     PORT}`);
});

4. 创建测试文件

创建一个server.test.js文件,内容如下:

const axios = require('axios');
const express = require('express');
const request = require('supertest');

const app = express();
app.get('/data', async (req, res) => {
   
    try {
   
        const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1');
        res.json(response.data);
    } catch (error) {
   
        res.status(500).send(error.message);
    }
});

test('GET /data', async () => {
   
    const response = await request(app).get('/data');
    expect(response.status).toBe(200);
    expect(response.body).toHaveProperty('id', 1);
});

5. 配置jest

package.json文件中添加以下配置,以便使用jest运行测试:

{
   
  "scripts": {
   
    "start": "node server.js",
    "test": "jest"
  }
}

6. 运行项目和测试

启动项目:

yarn start

在浏览器中访问http://localhost:3000/data,应该会看到API返回的数据。

运行测试:

yarn test

如果测试通过,终端会显示测试成功的信息。

九、总结

我们详细了解了Yarn的安装、配置及其基本用法。Yarn作为一种新的包管理工具,凭借其快速、安全和一致性的优势,已经成为开发者管理JavaScript依赖包的首选工具之一。

希望通过本文的介绍,大家能够快速上手并熟练使用Yarn,提高项目开发和管理的效率。在实际项目中,结合Yarn强大的功能和特性,我们可以更高效地进行依赖管理和测试,确保项目的稳定性和可靠性。

👉 最后,愿大家都可以解决工作中和生活中遇到的难题,剑锋所指,所向披靡~

目录
相关文章
|
14天前
|
消息中间件 资源调度 关系型数据库
如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理
本文介绍了如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理。主要内容包括安装Debezium、配置Kafka Connect、创建Flink任务以及启动任务的具体步骤,为构建实时数据管道提供了详细指导。
42 9
|
1月前
|
资源调度
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
38 2
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
|
1月前
|
缓存 资源调度 前端开发
Yarn学习,Yarn安装,Yarn常用命令。这一篇即可(有需要再补充)
Yarn 是一个快速、可靠、安全的 JavaScript 包管理工具,旨在解决 npm 的一些不足之处。
48 5
|
1月前
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
151 5
|
1月前
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
88 4
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
77 4
|
3月前
|
资源调度 Linux iOS开发
GPT栏目:yarn 安装
本文提供了在Windows、macOS和Linux操作系统上安装yarn的详细步骤,包括通过Windows安装程序、使用Homebrew在macOS上安装,以及通过包管理器在不同Linux发行版上安装yarn,并验证安装是否成功。
GPT栏目:yarn 安装
|
3月前
|
资源调度 关系型数据库 MySQL
【Flink on YARN + CDC 3.0】神操作!看完这篇教程,你也能成为数据流处理高手!从零开始,一步步教会你在Flink on YARN模式下如何配置Debezium CDC 3.0,让你的数据库变更数据瞬间飞起来!
【8月更文挑战第15天】随着Apache Flink的普及,企业广泛采用Flink on YARN部署流处理应用,高效利用集群资源。变更数据捕获(CDC)工具在现代数据栈中至关重要,能实时捕捉数据库变化并转发给下游系统处理。本文以Flink on YARN为例,介绍如何在Debezium CDC 3.0中配置MySQL连接器,实现数据流处理。首先确保YARN上已部署Flink集群,接着安装Debezium MySQL连接器并配置Kafka Connect。最后,创建Flink任务消费变更事件并提交任务到Flink集群。通过这些步骤,可以构建出从数据库变更到实时处理的无缝数据管道。
298 2
|
4月前
|
缓存 资源调度 前端开发
Yarn的安装及使用教程
Yarn的安装及使用教程
143 1
|
5月前
|
存储 缓存 资源调度
Yarn: 安装与使用教程
Yarn: 安装与使用教程
334 3