yarn 现代的包管理工具 介绍

简介: 本文介绍了yarn作为现代的包管理工具,由Facebook开发,具有依赖管理、版本锁定、性能优化、安全性增强等优点,并提供了使用yarn进行项目初始化、添加依赖、安装依赖和运行脚本的基本命令和操作步骤。

一、前言

在这里插入图片描述

yarn 是一个现代的包管理工具,它是 npm(Node Package Manager)的一个替代品。yarn 由 Facebook 开发,并在 2016 年发布。它解决了当时 npm 的一些问题,尤其是在性能和安全性方面。

yarn 主要用于以下几个方面:

  1. 依赖管理:管理项目的依赖项,就像 npm 一样。你可以使用 yarn add package-name 来添加新的依赖,yarn 会自动更新 package.jsonyarn.lock 文件。

  2. 安装项目依赖:通过 yarn install 命令安装所有在 package.json 文件中列出的依赖项。

  3. 版本锁定yarn.lock 文件锁定了依赖项的版本,确保每个安装或在不同环境下的构建都是一致的。

  4. 脚本运行:与 npm 类似,yarn 可以运行在 package.json 中定义的脚本,例如 yarn startyarn test

  5. 工作区支持yarn 支持工作区(workspaces),这使得在单个仓库中管理多个包变得更加容易。

  6. 性能yarn 在安装包时更快,因为它并行安装依赖项,并且更有效地利用缓存。

  7. 网络性能和可靠性yarn 通过使用一个全局缓存来存储下载过的每个包,因此你不需要每次都重新下载它们。

  8. 安全yarn 提供了一些增强的安全特性,例如通过校验每个安装包的完整性来提供更安全的依赖管理。

  9. 用户界面yarn 提供了一个更清晰的用户界面,给出更详细的错误信息和警告。

随着时间的推移,npm 也在不断地更新和改进,添加了许多 yarn 所具有的特性,包括 npm 自己的版本锁定文件 package-lock.json。因此,两者之间的差异已经不像最初那么大了,但许多开发者和团队仍然根据个人偏好和项目需求选择使用 yarn

二、yarn的基本使用

yarn的项目,建议编译器使用:VScode
要使用 Yarn 初始化一个新的项目,你需要按照以下步骤操作:

  1. 安装 Yarn:如果你还没有安装 Yarn,请先安装它。你可以通过 npm(这可能看起来有些讽刺)来安装 Yarn,或者从 Yarn 的官方网站下载安装包。

    使用 npm 安装 Yarn:

    npm install -g yarn
    

    或者,你可以访问 Yarn 官网 来查看其他安装选项。

  2. 初始化新项目:打开终端(在 Windows 上是命令提示符或 PowerShell,在 macOS 或 Linux 上是终端),然后导航到你想要创建项目的目录。运行以下命令来初始化一个新项目:

    yarn init
    

    这个命令将会启动一个简单的交互式流程,询问一些问题来帮助设置 package.json 文件,如项目名称、版本、描述等。如果你想要跳过这些问题直接创建一个带有默认值的 package.json 文件,可以运行:

    yarn init -y
    
  3. 添加依赖:一旦你的项目被初始化,你可以开始添加依赖。使用 yarn add 命令来添加你需要的库:

    yarn add [package-name]
    

    这将会安装最新版本的包,并且更新你的 package.jsonyarn.lock 文件,后者用于锁定依赖版本以确保一致性。

  4. 安装所有依赖:如果你是在现有项目上工作,只需运行以下命令来安装所有在 package.json 中定义的依赖:

    yarn
    

    或者:

    yarn install
    
  5. 运行脚本:如果你的 package.json 文件中定义了脚本,比如 starttest,你可以使用 Yarn 来运行这些脚本:

    yarn run [script-name]
    

    例如,如果你有一个名为 start 的脚本,你可以这样运行它:

    yarn start
    

通过这些步骤,你就可以使用 Yarn 来初始化和管理你的 JavaScript 或 TypeScript 项目了。

相关文章
|
9月前
|
缓存 Linux 开发者
Windows 下手动下载安装配置 uv
UV 是专为 Windows 打造的轻量命令行包管理器,仅需 uv.exe 和 uvx.exe 两个文件,无需 WSL 或管理员权限。支持一键安装、卸载、多版本切换 Python 等工具,内置依赖解析与缓存管理,搭配国内镜像更高效。绿色无残留,开发者友好,真正实现 Linux 般丝滑体验。
8475 3
|
5月前
|
消息中间件 人工智能 缓存
一行命令,给你的 OpenClaw 龙虾装上 X 光机——阿里云可观测,让养虾更经济更安全
本文将聊聊如何用一行命令,给你的 OpenClaw 装上一台 X 光机——让每一次 LLM 调用、每一步工具执行、每一个 Token 的消耗,都从水下浮出水面。
|
4月前
|
人工智能 自然语言处理 安全
OpenClaw 懒人汉化整合包,Windows 一键安装开箱即用(包含新安装包)
专为零基础用户制作,新版安装包集成所有依赖,全程无代码无命令,鼠标点几下就能正常使用。
|
人工智能 Nacos 开发者
手把手教你搭建MCP服务器
Model Context Protocol(MCP)正成为AI智能体连接外部工具的主流标准。本文详解两种搭建方案,助你构建专属AI工具扩展引擎,实现工具调用的标准化与高效集成。
|
11月前
|
消息中间件 Java Kafka
搭建ELK日志收集,保姆级教程
本文介绍了分布式日志采集的背景及ELK与Kafka的整合应用。传统多服务器环境下,日志查询效率低下,因此需要集中化日志管理。ELK(Elasticsearch、Logstash、Kibana)应运而生,但单独使用ELK在性能上存在瓶颈,故结合Kafka实现高效的日志采集与处理。文章还详细讲解了基于Docker Compose构建ELK+Kafka环境的方法、验证步骤,以及如何在Spring Boot项目中整合ELK+Kafka,并通过Logback配置实现日志的采集与展示。
1390 64
搭建ELK日志收集,保姆级教程
|
人工智能 供应链 小程序
软件外包众包平台为何没有前途?深度剖析行业顽疾优雅草卓伊凡
软件外包众包平台为何没有前途?深度剖析行业顽疾优雅草卓伊凡
530 2
软件外包众包平台为何没有前途?深度剖析行业顽疾优雅草卓伊凡
|
Java Spring
mybatisplus的typeAliasesPackage 配置
【6月更文挑战第20天】mybatisplus的typeAliasesPackage 配置
2085 3
|
API
Pinia 实用教程【Vue3 状态管理】状态持久化 pinia-plugin-persistedstate,异步Action,storeToRefs(),修改State的 $patch,$reset
Pinia 实用教程【Vue3 状态管理】状态持久化 pinia-plugin-persistedstate,异步Action,storeToRefs(),修改State的 $patch,$reset
4652 1
|
敏捷开发 网络协议 测试技术
|
缓存 Rust JavaScript
C知识扫盲------文件的基本操作
【8月更文挑战第20天】
454 2

热门文章

最新文章