当前位置: 首页 > news >正文

yarn命令介绍(替代npm命令的JavaScript包管理工具)

文章目录

  • 什么是Yarn
  • Yarn安装
    • 通过官网安装
    • 通过npm安装
  • 基本Yarn命令
    • 项目初始化 / `yarn init`
    • 安装依赖 / `yarn add <package-name>`
    • 升级依赖 / `yarn upgrade <package-name>`
    • 移除依赖 / `yarn remove <package-name>`
    • 安装所有依赖 / `yarn install` / `yarn`
    • 运行自定义脚本 / `yarn run <script-name>`
    • 项目构建与启动 / `yarn build` / `yarn start` / `yarn test`
  • 高级Yarn命令
    • 查看应用状态 / `yarn application -list`
    • 根据状态过滤应用 / `yarn application -list -appStates RUNNING`
    • 查看应用日志 / `yarn logs -applicationId <ApplicationId>`
    • 终止应用 / `yarn application -kill <ApplicationId>`
    • 查看节点状态 / `yarn node -list -all`
    • 查看队列状态 / `yarn queue -status <QueueName>`
    • 查看资源使用情况 / `yarn top`
  • Yarn配置
    • 设置镜像源 / `yarn config set registry https://registry.npmmirror.com`
    • 创建.yarnrc文件
  • 实用技巧
    • 批量移除依赖 / `yarn remove eslint-*` / `yarn remove @babel/*`
    • 移除多个依赖 / `yarn remove 'react-{dom,helmet}'`
    • 清除Yarn缓存 / `yarn cache clean`
    • 查看依赖树 / `yarn list`
  • 结语

什么是Yarn

Yarn是一个快速、可靠、安全的依赖管理工具,用于管理JavaScript项目的依赖。它由Facebook、Google、Exponent和Tilde共同开发,旨在解决npm在依赖管理方面存在的问题。与npm相比,Yarn具有以下优势:

  • 安装速度更快
  • 依赖管理更加一致
  • 支持并行安装
  • 有更安全的依赖解析机制
  • 提供更好的错误信息

Yarn安装

通过官网安装

  1. 访问Yarn官网:https://www.yarnpkg.com/lang/en/
  2. 点击"INSTALL YARN"按钮
  3. 选择对应操作系统的版本,下载安装包
  4. 运行安装包,按照提示完成安装

通过npm安装

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

npm install -g yarn

在这里插入图片描述

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

yarn --version

在这里插入图片描述

基本Yarn命令

项目初始化 / yarn init

该命令用于初始化一个新的Yarn项目,会引导你填写项目的基本信息,生成package.json文件。

在这里插入图片描述
在这里插入图片描述

安装依赖 / yarn add <package-name>

例如,安装lodash:

yarn add lodash

添加开发依赖:

yarn add <package-name> --dev

升级依赖 / yarn upgrade <package-name>

例如,升级axios到最新版本:

yarn upgrade axios

移除依赖 / yarn remove <package-name>

例如,移除axios:

yarn remove axios

安装所有依赖 / yarn install / yarn

该命令会根据package.json文件中的依赖列表安装所有项目依赖。

运行自定义脚本 / yarn run <script-name>

在package.json中定义的脚本可以通过以下命令运行:

yarn run <script-name>

例如,运行名为"build"的脚本:

yarn run build

项目构建与启动 / yarn build / yarn start / yarn test

yarn build    # 构建项目
yarn start    # 启动项目
yarn test     # 运行测试

高级Yarn命令

查看应用状态 / yarn application -list

该命令列出所有正在运行的应用程序。

根据状态过滤应用 / yarn application -list -appStates RUNNING

可用的状态包括:ALL、NEW、NEW_SAVING、SUBMITTED、ACCEPTED、RUNNING、FINISHED、FAILED、KILLED。

查看应用日志 / yarn logs -applicationId <ApplicationId>

例如:

yarn logs -applicationId application_1528080031923_0064

终止应用 / yarn application -kill <ApplicationId>

查看节点状态 / yarn node -list -all

查看队列状态 / yarn queue -status <QueueName>

查看资源使用情况 / yarn top

该命令类似于Linux系统中的top命令,显示正在运行的程序资源使用情况。

Yarn配置

设置镜像源 / yarn config set registry https://registry.npmmirror.com

这将设置淘宝镜像源,加快依赖包的下载速度。

创建.yarnrc文件

在项目根目录(与src同级)创建.yarnrc文件,添加以下内容:

registry "https://registry.npmmirror.com"
sass_binary_site "https://cdn.npmmirror.com/binaries/node-sass"

这样,使用yarn add命令时,将从配置的镜像源中拉取包,下载速度更快。

实用技巧

批量移除依赖 / yarn remove eslint-* / yarn remove @babel/*

移除多个依赖 / yarn remove 'react-{dom,helmet}'

清除Yarn缓存 / yarn cache clean

查看依赖树 / yarn list

结语

Yarn作为现代JavaScript项目依赖管理的首选工具,提供了比npm更高效、更可靠的依赖管理体验。通过掌握以上命令,你可以更高效地管理项目依赖,提高开发效率。随着项目的增长,Yarn的这些特性将帮助你更好地管理复杂的依赖关系,减少因依赖版本不一致导致的问题。

无论你是前端开发者、全栈开发者还是Node.js后端开发者,Yarn都是你不可或缺的工具。建议在新项目中优先使用Yarn,以获得更流畅的开发体验。

http://www.dtcms.com/a/392450.html

相关文章:

  • MFC中开源布局库---ResizableLib
  • Scade 6 编译原理的参考实现 - LustreC
  • MFC List 控件详解:高效数据展示与管理
  • 从根到叶的二进制数之和(霍纳法则)
  • 隐私与合规内建:Python医疗AI编程中的SBOM、依赖监测与威胁建模实践分析(上)
  • 基于实战:如何高效调用陌讯AIGC检测RESTful API进行批量内容审核
  • 如何用kimi写一个最小excel软件
  • Ansible-script模块
  • ansible批量给网络设备下发配置
  • 使用 Bright Data Web Scraper API Python 高效抓取 Glassd
  • uni-app 用scroll-view实现横向滚动
  • Kafka 图形界面客户端工具
  • 【开题答辩全过程】以 Php产品报价系统的设计与实现为例,包含答辩的问题和答案
  • 软件测试基础知识(网络协议)
  • 手机中的轻量化 AI 算法:智能生活的幕后英雄
  • wo店模式兴起旧模式式微:本地生活服务市场的深度变革
  • 服务器磁盘空间满了怎么办?阿里云ECS清理与云盘扩容教程
  • OpenAI推出更擅长AI代理编码的GPT-5-Codex,与Claude code有何区别?国内怎么使用到Codex呢?
  • GPT-5 深度测试报告:前端编程能力专项评估
  • AIGC发展:从GPT-1到GPT-4的技术演进与行业革新
  • 从AI生成到学术表达:如何有效降低AI率,实现论文合规化写作
  • 【国二】C语言选择题精华速记
  • 聊聊和AutoDL的故事
  • 【状态机实现】前置——设计模式中的孪生兄弟(状态模式和策略模式)
  • 【LeetCode - 每日1题】设计路由器
  • springboot宠物领养救助平台的开发与设计(代码+数据库+LW)
  • CSS的三大特性
  • 实现excel的树形导出
  • 基于Matlab的GPS/北斗系统抗脉冲与窄带干扰算法研究及仿真验证
  • linux之负载均衡Nginx+多开Tomcat