yarn不同操作系统的安装与配置

Yarn 是一个快速、可靠且安全的依赖包管理工具,用于替代 npm。以下是在不同操作系统上安装和配置 Yarn 的步骤。

1. 安装 Node.js

在安装 Yarn 之前,请确保已经安装了 Node.js,因为 Yarn 需要 Node.js 环境。你可以在 Node.js — Run JavaScript Everywhere 下载并安装适合你操作系统的版本。

2. 在 Ubuntu / Debian 上安装 Yarn

在 Ubuntu 或 Debian 系统上,可以通过以下命令使用包管理器 apt 来安装 Yarn:

 

Bash

1curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
2echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
3sudo apt-get update && sudo apt-get install yarn

3. 在 CentOS / RHEL 上安装 Yarn

在 CentOS 或 RHEL 系统上,可以使用以下命令通过包管理器 yum 或 dnf 来安装 Yarn:

 

Bash

1curl -sS https://dl.yarnpkg.com/rpm/pubkey.gpg | sudo rpm --import -
2echo -e "[yarn]\nname=Yarn\nbaseurl=https://dl.yarnpkg.com/rpm/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://dl.yarnpkg.com/rpm/pubkey.gpg" | sudo tee /etc/yum.repos.d/yarn.repo
3sudo yum install yarn
4# 如果你的系统使用的是dnf,替换上面的yum为dnf即可

4. 在 macOS 上安装 Yarn

在 macOS 上,可以使用 Homebrew 包管理器来安装 Yarn:

 

Bash

1brew install yarn

5. 在 Windows 上安装 Yarn

在 Windows 上,你可以通过 Chocolatey 包管理器或直接从 Yarn 官网下载安装包进行安装。

  • 使用 Chocolatey:
 
1choco install yarn
  • 从官网下载:访问 Installation | Yarn ,下载并运行安装程序。

6. 配置 Yarn

安装完成后,你可能需要对 Yarn 进行一些基本配置,例如设置全局安装目录和缓存目录。可以通过编辑 .yarnrc 文件(位于用户主目录下)来完成这些配置。

例如,要将全局安装目录设置为 /usr/local/lib/node_modules 和缓存目录设置为 /var/cache/yarn,可以添加以下内容到 .yarnrc 文件中:

1yarn-offline-mirror: false
2global-folder: "/usr/local/lib/node_modules"
3cache-folder: "/var/cache/yarn"

请根据实际情况调整路径。

成功安装和配置了 Yarn,可以开始使用它来管理 项目依赖了!

Yarn 是一个高效、可靠且安全的包管理器,它与 npm 兼容但提供了更快的安装速度和更好的依赖一致性。以下是 Yarn 的基本用法概览,这将帮助你快速上手使用 Yarn:

7.基本命令

初始化项目

若要初始化一个新的项目,使用 yarn init 命令。这会创建一个 package.json 文件,并引导你填写项目信息。

添加依赖

使用 yarn add <package> 来安装一个新包。例如,安装 lodash 库:

yarn add lodash


安装项目依赖

要安装项目中列出的所有依赖,只需运行 yarn 或 yarn install。Yarn 会读取 package.json 中的 dependencies 和 devDependencies 列表。

升级依赖

若要升级一个已存在的依赖到最新版本,使用 yarn upgrade <package>。

移除依赖

使用 yarn remove <package> 来移除一个不再需要的包。

列出所有依赖

yarn list 命令显示所有已安装的依赖包及其版本。

检查依赖

yarn check 可以验证项目中的依赖是否与 package-lock.json 或 yarn.lock 文件中的信息匹配。

清理缓存

使用 yarn cache clean 清除 Yarn 的缓存。

全局安装

若要全局安装一个包,使用 yarn global add <package>。

8.高级功能


链接本地模块

使用 yarn link 和 yarn link <package> 命令来链接本地开发的模块到项目中,这样就可以在开发过程中实时看到模块的变化。

工作空间

大型项目可能包含多个子项目,每个子项目都有自己的 package.json。Yarn 的工作空间功能可以帮助管理这些子项目。在根目录的 package.json 文件中定义 workspaces 字段,然后可以使用 yarn workspaces <command> 来针对所有工作空间执行命令。

插件

Yarn 支持插件,可以扩展其功能。使用 yarn plugin import <plugin-name> 来安装插件。

多版本支持

Yarn 允许同时安装不同版本的相同包,这在处理不同的项目需求时非常有用。

9.日常使用技巧

脚本运行

除了管理依赖,package.json 中的 scripts 字段可以用来定义常用任务,例如构建、测试和部署。使用 yarn <script-name> 来运行这些脚本。

环境变量

Yarn 可以通过 .env 文件或环境变量来设置项目级别的环境变量,这对于配置不同的环境(如开发、测试和生产)很有帮助。

锁定文件

Yarn 使用 yarn.lock 文件来跟踪确切的依赖版本,确保在任何环境中安装的依赖完全一致。

10.构建和发布

  1. 构建和打包
    如果你的项目有构建步骤,比如编译源代码或者压缩资源文件,可以在 package.jsonscripts 字段中定义一个 build 脚本,然后使用 yarn build 来运行这个脚本。

  2. 发布到npm仓库
    使用 yarn publish 命令可以将你的项目发布到 npm 仓库。在发布前,请确保你已经在 npm 登录过 (npm login) 并且你的 package.json 文件中的 version 字段已经更新。

11.检查和审计

  1. 依赖关系图
    使用 yarn why <package> 查看特定包是如何被引入项目的,以及它的所有依赖树。

  2. 依赖审计
    yarn audit 命令可以检查你的项目是否存在已知的安全漏洞,并提供修复建议。

12.自动化和CI/CD

  1. 自动化脚本
    你可以将 yarn 命令集成到 CI/CD 流水线中,例如在构建流程中自动运行 yarn installyarn test

  2. 环境变量和配置
    利用 .env 文件或环境变量来存储敏感信息,如 API 密钥和数据库连接字符串,以避免硬编码到代码中。

13.性能优化

  1. 使用离线模式
    当网络不稳定或不可用时,可以使用 yarn install --offline 命令,Yarn 将尝试从本地缓存安装依赖。

  2. 自定义镜像源
    对于国内用户,可以通过修改 .yarnrc 文件中的 registry 设置来使用国内的 npm 镜像源,例如阿里云镜像,以提高下载速度。

14.最佳实践

  1. 保持 yarn.lock 文件同步
    每次修改依赖后,都应该提交更新后的 yarn.lock 文件到版本控制系统,确保团队成员使用相同的依赖版本。

  2. 定期更新依赖
    定期运行 yarn outdated 检查过时的依赖,然后使用 yarn upgrade 更新它们,以获取最新的安全补丁和功能改进。

  3. 使用Workspaces管理多项目
    如果你的项目包含多个独立的子项目,考虑使用 Workspaces 功能来简化依赖管理和构建过程。

  4. 文档和注释
    package.jsonREADME.md 文件中详细记录项目的依赖、脚本和安装步骤,以便新加入的开发者能够快速上手。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/38750.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昇思25天学习打卡营第十五天|基于MobileNetv2的垃圾分类

基于MobileNetv2的垃圾分类 MobileNetv2模型原理介绍 MobileNet网络是由Google团队于2017年提出的专注于移动端、嵌入式或IoT设备的轻量级CNN网络&#xff0c;相比于传统的卷积神经网络&#xff0c;MobileNet网络使用深度可分离卷积&#xff08;Depthwise Separable Convolut…

Zabbix 6.0 案例

自定义监控内容 案列&#xff1a;自定义监控客户端服务器登录的人数 需求&#xff1a;限制登录人数不超过 3 个&#xff0c;超过 3 个就发出报警信息 1.在客户端创建自定义 key 明确需要执行的 linux 命令 who | wc -l 2.在被监控主机的配置文件目录中&#xff08;/etc/za…

港大推出XRec:「会说话」的推荐系统大模型, 从黑盒预测到可解释

代码链接: https://github.com/HKUDS/XRec 论文链接: https://arxiv.org/pdf/2406.02377 实验室链接: https://sites.google.com/view/chaoh 最近,香港大学数据智能实验室推出了一款名为 XRec 的全新智能大模型,旨在为传统推荐系统注入可解释性的新动力。XRec 利用大语言模型…

PyTorch入门笔记

学习参考&#xff1a; PyTorch简单入门视频 深入浅出PyTorch 小土堆笔记 前置知识 AI vs ML vs DL AI&#xff08;Artificial Intelligence&#xff09;&#xff1a;通过让机器模仿人类进而超越人类ML&#xff08;Machine Learning&#xff09;&#xff1a;让机器模仿人类的一…

【C++】const详解

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文作为 JohnKi &#xff0c;引用了部分大佬的案例 &#x1f4e2;未来很长&#xff0c;…

Edge浏览器选中后,出现AI智能生成 AI专业写作

这个是扩展里边的“ 网页万能复制 & ChatGPT AI写作助手”造成的&#xff0c;这个拓展增加了AI写作功能。关闭这个拓展就解决了。

入门Axure:快速掌握原型设计技能

2002 年&#xff0c;维克托和马丁在旧金山湾区的一家初创公司工作&#xff0c;发现自己一再被软件开发生命周期的限制所困扰&#xff0c;而且产品团队在编写规范之前很难评估他们的解决方案&#xff0c;开发人员经常不理解&#xff08;或不阅读&#xff09;给出的规范&#xff…

【linux学习---1】点亮一个LED---驱动一个GPIO

文章目录 1、原理图找对应引脚2、IO复用3、IO配置4、GPIO配置5、GPIO时钟使能6、总结 1、原理图找对应引脚 从上图 可以看出&#xff0c; 蜂鸣器 接到了 BEEP 上&#xff0c; BEEP 就是 GPIO5_IO05 2、IO复用 查找IMX6UL参考手册 和 STM32一样&#xff0c;如果某个 IO 要作为…

14-16 AI Agent:您无法忽视的盈利未来

忘掉关于机器人接管我们工作的争论吧。一场更加微妙、可能更有利可图的革命正在酝酿之中——智能代理的崛起&#xff0c;而智能代理的光芒常常被其更简单的“表亲”虚拟助理所掩盖。 虽然 Siri 和 Alexa 可以处理基本任务和基本对话&#xff0c;但人工智能代理则完全不同。想象…

HTML5的多线程技术:Web Worker API

Web Workers API 是HTML5的一项技术&#xff0c;它允许在浏览器后台独立于主线程运行脚本&#xff0c;即允许进行多线程处理。这对于执行密集型计算任务特别有用&#xff0c;因为它可以防止这些任务阻塞用户界面&#xff0c;从而保持网页的响应性和交互性。Web Workers在自己的…

中国动物志(140卷)

中国动物志&#xff0c;共140卷&#xff0c;包括昆虫纲、鸟纲、兽纲、无脊椎动物、硬骨鱼纲等多类&#xff0c;是反映我国动物分类区系研究工作成果的系列专著&#xff0c;是研究物种多样性、探讨物种演化和系统发育的重要参考&#xff0c;是动物资源开发利用、有害物种控制、濒…

昇思25天学习打卡营第12天|linchenfengxue

DCGAN生成漫画头像 通过示例代码说明DCGAN网络如何设置网络、优化器、如何计算损失函数以及如何初始化模型权重。 GAN基础原理 生成式对抗网络(Generative Adversarial Networks&#xff0c;GAN)是一种生成式机器学习模型&#xff0c;是近年来复杂分布上无监督学习最具前景的…

什么是Web3D交互展示?有什么优势?

在智能互联网蓬勃发展的时代&#xff0c;传统的图片、文字及视频等展示手段因缺乏互动性&#xff0c;正逐渐在吸引用户注意力和提升宣传效果上显得力不从心。而Web3D交互展示技术的横空出世&#xff0c;则为众多品牌与企业开启了一扇全新的展示之门&#xff0c;让线上产品体验从…

【C语言】extern 关键字

在C语言中&#xff0c;extern关键字用于声明一个变量或函数是定义在另一个文件中的。它使得在多个文件之间共享变量或函数成为可能。extern关键字常见于大型项目中&#xff0c;通常用于声明全局变量或函数&#xff0c;这些变量或函数的定义位于其他文件中。 基本用法 变量声明…

Python基础入门知识

目录 引言 简要介绍Python语言 为什么要学习Python Python的应用领域 Python安装和环境配置 Python的下载和安装(Windows, macOS, Linux) 配置Python环境变量 安装和使用IDE(如PyCharm, VS Code) Python基本语法 注释 变量和数据类型(数字,字符串,列表,元组,字典,…

P3374 【模板】树状数组 1

题目描述 如题&#xff0c;已知一个数列&#xff0c;你需要进行下面两种操作&#xff1a; 将某一个数加上 &#x1d465;x 求出某区间每一个数的和 输入格式 第一行包含两个正整数 &#x1d45b;,&#x1d45a;n,m&#xff0c;分别表示该数列数字的个数和操作的总个数。 …

<sa8650>sa8650 qcxserver-之-摄像头传感器VB56G4A驱动开发<1>

<sa8650>sa8650 qcxserver-之-摄像头传感器VB56G4A驱动开发 <1> 一、前言二、QCX架构三、QCX 传感器驱动程序定制开发3.1 sensor硬件接口3.2 sensor配置文件3.2.1 cameraconfig.c3.2.2 cameraconfigsa8650_water.c3.2.3 新增编译MK3.2.4 参数解析3.2.4.1 struct Camera…

干式电抗器的工作原理是什么

干式电抗器是电力系统中常用的无功补偿设备&#xff0c;主要用于调节电网的电压、提高功率因数、限制短路电流等。它的工作原理主要是通过在电路中引入一个与负载电流相反的磁场&#xff0c;从而产生一个与负载电流相抵消的电抗力&#xff0c;达到调节电压和功率因数的目的。 干…

常微分方程算法之编程示例十-两点狄利克雷边值问题(理查德森外推法)

目录 一、研究问题 二、C++代码 三、计算结果 一、研究问题 本节我们采用理查德森法对示例八中的两点狄利克雷边值问题进行外推求解,相应的原理及推导思路请参考: 常微分方程算法之高精度算法(Richardson法+紧差分法)_richardson外推法-CSDN博客https://blog.csdn.net/…

20_系统测试与维护

目录 测试基础知识 测试原则 动态测试 静态测试 测试策略 测试阶段 测试用例设计 黑盒测试用例设计 白盒测试用例设计 McCabe度量法 鲁棒性测试 缺陷探测率(Defect Detection Percentage,DDP) 调试 系统维护基础 系统转换 系统维护指标 软件容错技术 嵌入式安…