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

简单快捷!Yarn的安装与使用指南

Yarn 是由 Facebook (现 Meta) 开发的包管理工具。

今天,我将介绍如何使用 Yarn。

目录

Yarn 的官方网站

 关于安装

版本确认

开始一个新项目(创建 package.json 文件)

安装软件包

升级包

运行脚本

执行包的命令

卸载包

 总结


Yarn 的官方网站

Yarn的官方网站如下:

Home page | YarnYarn, the modern JavaScript package managericon-default.png?t=N7T8https://yarnpkg.com/

 

 关于安装

Yarn官方推荐使用Corepack进行管理。Corepack是一个可以管理pnpm和Yarn等包管理器的工具。

在Node.js版本为v16.10及以上的环境中,Corepack通常已经预装。如果你还没有安装Node.js,可以参考相关安装指南来安装。

 

如果使用 nodebrew 安装 Node.js,在我的环境中会出现错误,导致无法使用 yarn 命令。

那么,我们可以查看是否可以使用 corepack 命令。请执行以下命令来显示帮助信息。

$ corepack -h

如果显示了命令的用法说明,那么就可以使用 corepack 命令。此外,yarn 无需通过 npm 安装,只需使用 corepack enable 命令启用即可。

接下来,请使用以下命令来启用包管理器(可能需要以管理员权限运行)。

$ sudo corepack enable

 如果不以管理员权限运行,可能会出现类似以下的错误,请注意:

$ corepack enable
Internal Error: EACCES: permission denied, symlink '../lib/node_modules/corepack/dist/pnpm.js' -> '/usr/local/bin/pnpm'
Error: EACCES: permission denied, symlink '../lib/node_modules/corepack/dist/pnpm.js' -> '/usr/local/bin/pnpm'

这样一来,就可以使用 yarn 命令了。

$ yarn -v
4.3.1

版本确认

刚才执行的 yarn -v 是用于检查 Yarn 版本的命令。

可以使用以下命令来确认 Yarn 的版本:

$ yarn --version
4.3.1

上面的命令可以简化为如下形式:

$ yarn -v
4.3.1

开始一个新项目(创建 package.json 文件)

开始一个新项目时,会创建 package.json 文件。package.json 文件描述了项目(即将创建的包)的相关信息。

package.json 文件中包含的信息包括:

  • 项目名称(包名)
  • 版本
  • 项目(包)的描述
  • 许可证
  • 使用的依赖包

package.json 文件可以通过以下命令创建:

$ yarn init

然后会显示一些问题,您需要输入相应的信息。不过,您也可以在之后随时修改这些信息。如果您不打算公开这个包,也不需要特别在意这些问题,可以直接按下 Enter 键(Return 键)跳过。

另外,您可以使用 -y 选项,这样会默认同意所有问题,相当于每个问题都按了 Enter(Return)。

$ yarn init -y

如果您不打算公开这个包,为了防止意外公开,可以在 package.json 文件中添加 "private": true。这可以确保包不会被意外发布。

另外,您可以使用 -p 选项,这样可以方便地将 "private": true 添加到 package.json 文件中。

 

$ yarn init -p

当然,您也可以同时使用 -y-p 选项。这会在默认接受所有问题的同时,将 "private": true 添加到 package.json 文件中,以防止意外发布。

$ yarn init -yp

安装软件包

使用 Yarn 安装包时,可以使用 yarn add 命令。这个命令会将指定的包添加到项目中,并更新 package.json 文件和 yarn.lock 文件。具体使用方法如下:

$ yarn add [包名]

例如,要安装 bootstrap包,可以运行:

$ yarn add bootstrap

这样,Yarn 会下载并安装该包及其依赖项。

要指定安装包的版本,可以在包名后面加上 @ 和版本号。例如,如果你想安装特定版本的包,例如 lodash 4.17.21,可以使用以下命令:

$ yarn add 包名@版本

例如,如果想安装 Bootstrap 的版本 5.0.2,可以使用以下命令:

$ yarn add bootstrap@v5.0.2

要安装仅在开发时使用的包,可以使用 --dev 选项。例如,如果您想安装一个开发环境中使用的工具或库,可以运行以下命令:

$ yarn add --dev sass

或者,可以简写为 -D。这个选项同样用于安装开发时使用的包。

$ yarn add -D sass

 

如果环境发生变化或需要重新安装依赖,可以使用 package.json 中列出的包来批量安装。这通常在项目迁移到新环境或新的开发人员加入项目时使用。

package.json 文件所在的目录中,运行以下命令:

$ yarn install

或者,只需运行 yarn 命令,也可以完成相同的安装效果。这会根据 package.json 文件中的依赖项信息自动安装所有必要的包。Yarn 会检查并下载这些包的适当版本,以确保项目所需的环境正确配置。

$ yarn

升级包

要升级包,可以使用 yarn upgrade 命令。这会升级 package.json 中列出的所有包到符合其指定版本范围的最新版本。

要升级所有的包,可以使用以下命令:

$ yarn upgrade

要将所有包升级到最新版本,可以使用 --latest 选项。命令如下:

$ yarn upgrade --latest

要指定升级的包,可以使用以下命令格式:

$ yarn upgrade 包名

另外,还可以指定要升级的版本。

$ yarn upgrade 包名@版本

例如,如果您想将 Bootstrap 升级到版本 5.2.3,可以使用以下命令:

$ yarn upgrade bootstrap@v5.2.3

这样会将项目中的 Bootstrap 包升级到指定的 5.2.3 版本。

运行脚本

您可以在 package.json 中预先编写脚本,然后执行它们。

首先,将以下内容添加到您的 package.json

{"name": "sample_project","version": "1.0.0","main": "index.js","license": "MIT","private": true,"scripts": {"say": "echo hello"},"dependencies": {"bootstrap": "^5.2.3"},"devDependencies": {"sass": "^1.56.1"}
}

要执行脚本,请使用 yarn run

$ yarn run say
yarn run v4.3.1
$ echo hello
hello
✨  Done in 0.03s.

省略 run 也会执行相同的操作。

$ yarn say
yarn run v4.3.1
$ echo hello
hello
✨  Done in 0.03s.

执行包的命令

使用 yarn run 也可以执行已安装包的命令。

例如,要显示刚才安装的 Sass 的版本,请使用以下命令:

$ yarn run sass --version

省略 run 也会执行相同的操作。

$ yarn sass --version

另外,通过使用之前介绍的脚本,您可以预先编写 Sass 的命令,使执行变得更加简单。

{"name": "sample_project","version": "1.0.0","main": "index.js","license": "MIT","private": true,"scripts": {"build:sass": "sass --no-source-map src/sass/:dist/css/"},"dependencies": {"bootstrap": "^5.2.3"},"devDependencies": {"sass": "^1.56.1"}
}

可以使用以下命令来执行:

$ yarn run build:sass

或者省略run

$ yarn build:sass

卸载包

可以使用以下命令卸载包。

$ yarn remove 包名

例如,要卸载 Bootstrap,可以使用以下命令:

$ yarn remove bootstrap

 总结

Yarn 是由 Facebook (Meta) 开发的,可以替代 npm 的包管理器。

通过安装 Node.js,可以使用 corepack,并通过 corepack 允许使用 Yarn。

Yarn 的使用方法与 npm 非常相似,因此学习时间很短,可以很快上手。

相关文章:

简单快捷!Yarn的安装与使用指南

Yarn 是由 Facebook (现 Meta) 开发的包管理工具。 今天,我将介绍如何使用 Yarn。 目录 Yarn 的官方网站 关于安装 版本确认 开始一个新项目(创建 package.json 文件) 安装软件包 升级包 运行脚本 执行包的命令 卸载包 总结 Yarn 的…...

【Django】前端技术-网页样式表CSS

文章目录 一、申明规则CSS的导入方式行内样式内部样式外部样式 二、CSS的选择器1. 基本选择器标签选择器: 选择一类标签 标签{}类选择器 class: 选择所有class属性一致的表情,跨标签.类名{}ID选择器:全局唯一 #id名{} 2.层次选择器…...

openssl req 详解

一、openssl req 该命令用于创建和处理PKCS#10格式的证书请求(certificate requests CSRs),也可以用来创建自签名证书( self-signed certificates)来当作根证书(root CAs)使用 -new 该选项用来…...

mysql各种锁总结

mysql全局锁 读锁(共享锁) 阻止其他用户更新,但允许他们读取数据。 写锁(排他锁) 阻止其他用户读取和更新数据。 全局锁场景:进行数据库备份 数据库备份 背景:备份数据肯定要保证数据一致…...

SpringSecurity--DelegatingFilterProxy工作流程

什么是 DelegatingFilterProxy? DelegatingFilterProxy 是 Spring 提供的一个特殊的过滤器,它起到了桥梁的作用,可以让你在 Spring 容器中管理 Servlet 容器中的过滤器。 为什么需要 DelegatingFilterProxy? 通常情况下&#x…...

GitHub每日最火火火项目(7.27)

1. 项目名称:meta - llama / llama3 项目介绍:这是 Meta Llama 3 的官方 GitHub 站点。目前尚不清楚该项目的具体功能和特点,但从名称推测,可能与 Llama 3 模型相关,或许涉及到模型的开发、训练或应用等方面。 项目地…...

git 学习总结

文章目录 一、 git 基础操作1、工作区2、暂存区3、本地仓库4、远程仓库 二、git 的本质三、分支git 命令总结 作者: baron 一、 git 基础操作 如图所示 git 总共有几个区域 工作区, 暂存区, 本地仓库, 远程仓库. 1、工作区 存放项目代码的地方,他有两种状态 Unm…...

《如何找到自己想做的事》

Arouse Enthusiasm, Give Scope to Skill, Explore The Essence *摘其两纸 我喜欢打篮球,并不是我真的喜欢这项运动,而是我喜欢团队竞技。我喜欢看书,并不是我真喜欢阅读,而是我想要了解世界运行逻辑。寻找热爱,探寻本…...

Vue中el的两种写法

大家好我是前端寄术区博主PleaSure乐事。今天了解到了Vue当中有关el的两种写法,记录下来与大家分享,希望对大家有所帮助。 方法一 解释 第一种方法我们直接用new创建并初始化一个新的 Vue 实例,并定义了 Vue 实例的数据对象,在给…...

ELK安装(Elasticsearch+Logstash+Kibana+Filebeat)

一、简介 1.1、软件简介 ELK其实是Elasticsearch,Logstash 和 Kibana三个产品的首字母缩写,这三款都是开源产品。 1.1.1、Elasticsearch简介 Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析…...

VScode使用Github Copilot插件时出现read ECONNREST问题的解决方法

文章目录 read ECONNREST查看是否仍是 Copilot 会员查看控制台输出网络连接问题浏览器设置问题笔者的话 read ECONNREST 最近使用 Copilot 时一直出现 read ECONNREST 问题,这个表示连接被对方重置了,就是说在读取数据时连接被关闭。 我首先怀疑是不是…...

充电桩浪涌保护方案—保障充电设施安全稳定运行的关键

在当今新能源汽车蓬勃发展的时代,充电桩作为电动汽车的“加油站”,其重要性不言而喻。然而,由于其复杂的电气环境和暴露于户外的特点,充电桩容易受到浪涌的影响。浪涌可能来自雷电、电网故障、大功率设备的启停等,对充…...

Python包管理工具pip

1、安装pip cmd管理员模式打开控制台 python -m pip install --upgrade pip 2、添加pip环境变量 pip 路径 C:\Users\1\AppData\Local\Programs\Python\Python312\Scripts...

最全国内13家DNS分享 解决网页被恶意跳转或无法打开问题

腾讯 DNS (DNSPod) 腾讯 DNS 是由 DNSPod 提供的公共免费 DNS 服务。DNSPod 已被腾讯收购,现在属于腾讯公司所有。该 DNS 服务稳定性和连通性良好,经测试在海外也可以使用。 DNSPod 提供了 IPv4、IPv6 DNS 和 DoT/DoH 服务。 IPv4 地址: 119.29.29.29…...

最新站长工具箱源码,拥有几百个功能,安装教程

最新站长工具箱源码,拥有几百个功能,安装教程 在 Docker 上运行 docker run -e LAFREGIONCN -e APPLANGzh_CN --name my-miaoda -v ~/.miaoda-docker:/root/.miaoda -d -p 0.0.0.0:39899:39899 codegentoolbox/laftools-linux-x64:latestNOTE: 默认端…...

【算法/训练】:动态规划(线性DP)

一、路径类 1. 字母收集 思路: 1、预处理 对输入的字符矩阵我们按照要求将其转换为数字分数,由于只能往下和往右走,因此走到(i,j)的位置要就是从(i - 1, j)往下走&#…...

计算巨头 Azure、AWS 和 GCP 的比较

云计算领域由三大主要参与者主导:Microsoft Azure、Amazon Web Services (AWS) 和 Google Cloud Platform (GCP)。每个平台都为希望利用云提供基础设施、平台服务等的企业提供强大的功能。在本文中,我们将深入探讨这些平台之间的差异,重点关注…...

Thinkphp5跨域问题常见的处理方法

在ThinkPHP5中,处理跨域问题通常涉及配置中间件或直接在控制器中设置响应头。以下是几种常见的解决跨域问题的方法: 1. 使用中间件处理跨域 你可以创建一个中间件来专门处理跨域请求。这个中间件会检查请求的来源,并设置相应的响应头来允许…...

Matlab编程资源库(9)数据插值与曲线拟合

一、一维数据插值 在MATLAB中,实现这些插值的函数是interp1,其调用格式为: Y1interp1(X,Y,X1,method) 函数根据X,Y的值,计算函数在X1处的值。X,Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量…...

matplotlib的科研绘图辅助

matplotlib的科研绘图辅助 趁着暑假,与和鲸科技合作了一个python绘图的教程,作为暑期夏令营的一小部分,主要内容是介绍如何使用matplotlib、pandas、seaborn和plotnine进行医学科研绘图,感兴趣的可以通过如下地址进行访问&#x…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...