Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Yarn 常用命令详解

Yarn 常用命令详解

作者头像
子晋
发布于 2022-01-18 13:22:15
发布于 2022-01-18 13:22:15
10.8K00
代码可运行
举报
文章被收录于专栏:子晋城子晋城
运行总次数:0
代码可运行

Yarn 简介

Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 npm 面临的少数问题。

Yarn 官网:https://classic.yarnpkg.com/zh-Hans

安装

官网脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --nightly

或者

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install -g yarn

安装成功后,即可查看版本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn –version

常用命令

初始化新项目

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn init

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm init

yarn init 与 npm init 一样通过交互式会话创建一个 package.json 文件。

添加依赖包

通过 yarn add 添加依赖会更新 package.json 以及 yarn.lock 文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn add [package]yarn add [package]@[version]yarn add [package]@[tag]

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install [package]

将依赖项分别添加到不同依赖项,例如分别添加到 devDependencies、peerDependencies 和 optionalDependencies:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn add [package] --devyarn add [package] --peeryarn add [package] --optional

升级依赖包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn upgrade [package]yarn upgrade [package]@[version]yarn upgrade [package]@[tag]

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm update [package]

移除依赖包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn remove [package]

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm uninstall [package]

安装项目的全部依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn

或者

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn installyarn install --force # 强制下载安装

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm installnpm install --force # 强制下载安装

运行脚本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn run [script] [<args>]

yarn run 用来执行 package.json 中 scripts 属性下定义的脚本,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{  "name": "my-package",  "scripts": {    "dev": "node app.js",    "start": "node app.js"  }}

执行 scripts 属性下 dev 对应的脚本 node app.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn run dev

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm run dev

执行 scripts 属性下 start 对应的脚本 node app.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn start

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm start

显示某个包信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn info <package>

这个命令会拉取包的信息并返回为树格式,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn info react
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn info vx.x.x
{ name: 'react',
  version: '15.4.0-rc.2',
  description: 'React is a JavaScript library for building user interfaces.',
  time: { modified: '2016-10-06T22:09:27.397Z', ... } 
  ...
}

这个命令默认的报告样式是单引号序列化的,如果要输出有效的 JSON 行格式,就使用标准的 --json 标志:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn info react --json
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{"type":"inspect","data":{"name":"react","time":{...}}}{"type":"finished","data":417}

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm info <package>npm info <package> --json

列出项目的所有依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn list

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm list

Yarn 中的 list 命令列出当前工作文件夹所有的依赖,通过参考所有包管理器的元信息文件,包括项目的依赖,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn list vx.x.x
├─ package-1@1.3.3
├─ package-2@5.0.9
│  └─ package-3@^2.1.0
└─ package-3@2.7.0

默认情况下,所有包的依赖会被显示,如果要限制依赖的深度,你可以给 list 命令添加一个标志 --depth 所需的深度:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn list [--depth] [--pattern]

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn list --depth=0

管理 yarn 配置文件

设置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn config set <key> <value> 

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm config set <key> <value> 

读取

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn config get <key>

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm config get <key>

删除

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn config delete <key>

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm config delete <key>

查看当前配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn config list

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm config list

设置淘宝镜像

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn config set registry https://registry.npm.taobao.org

npm 方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm config set registry https://registry.npm.taobao.org

缓存

列出已缓存的包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn cache list

列出匹配指定模式已缓存的包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn cache list --pattern <pattern>

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn cache list --pattern gulp
yarn cache list --pattern "gulp|grunt"
yarn cache list --pattern "gulp-(match|newer)"

打印出当前 yarn 全局缓存的位置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn cache dir

清除缓存

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn cache clean

此外,您可以指定一个或多个想要清除的包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn cache clean [<module_name...>]

改变缓存路径

设置 cache-folder 来配置缓存目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn config set cache-folder <path>

你也可以用 --cache-folder 标志指定缓存目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn <command> --cache-folder <path>

你还可以通过环境变量 YARN_CACHE_FOLDER 指定缓存目录︰

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
YARN_CACHE_FOLDER=<path> yarn <command>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Yarn常用命令
在 macOS 和通用 Unix 环境里安装 Yarn 的最容易方法之一是通过我们的 shell 脚本。你可以在你的终端里运行下列代码来安装 Yarn:
GSZS
2022/10/22
9940
Yarn常用命令
Node入门教程(7)第五章:node 模块化(下) npm与yarn详解
Node的包管理器 JavaScript缺少包结构的定义,而CommonJS定义了一系列的规范。而NPM的出现则是为了在CommonJS规范的基础上,实现解决包的安装卸载,依赖管理,版本管理等问题。 CommonJS是一个致力于构建统一的JS生态系统,它可以兼容web服务器、桌面应用、命令行应用、浏览器等。它定义了各种开发的规范和API不仅仅模块化相关的规范) 官网的说明: a group with a goal of building up the JavaScript ecosystem for we
老马
2018/04/16
1.2K0
npm、cnpm、yarn三剑客
npm,cnpm,yarn这三个或许使用Hexo,Hugo,vuepress等静态博客搭建的小伙伴们来说,会经常遇见,会使用它们进行插件,依赖包等的安装、卸载与更新,如果你是前端开发者或者是准备从事前端的话,你会经常与它们三个打交道,下面简单的说说它们三剑客吧!
YangAir
2020/02/12
1.2K0
包管理工具Yarn的使用和命令总结
了解前端开发的人可能会习惯于使用 npm 或者cnpm 作为我们项目的包管理工具,它们在给我们的日常开发带来便利的同时,也伴随着,如:安装慢、无法保持包的一致性等让开发者头疼的问题,于是作为npm 的直接竞争对手 Yarn 诞生了。
害恶细君
2022/11/22
1.5K0
包管理工具Yarn的使用和命令总结
npm常用命令
npm是什么,大家都应该很熟悉了。npm的常用命令很多,为了避免经常到npm官网查找,特将常用的npm命令整理下来。 npm install 包安装模块 本地安装 npm install expres
IMWeb前端团队
2017/12/29
1.7K0
npm常用命令
Yarn 安装与使用教程[通俗易懂]
Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。 你可以通过它使用全世界开发者的代码,或者分享自己的代码。代码通过包(package)(或者称为模块(module))的方式来共享。 一个包里包含所有需要共享的代码,以及描述包信息的文件,称为package.json。它的优点是更快、更安全、更可靠。它的主要特性有离线模式、确定性、网络性能、多注册、网络恢复能力、扁平模式以及 Emoji。
全栈程序员站长
2022/07/25
2.4K0
Yarn 安装与使用教程[通俗易懂]
秒懂Yarn:从安装到配置的全流程详解
Yarn是一个由Facebook、Google、Exponent 和 Tilde 共同开发的新的包管理工具。它与npm相似,用于管理项目的依赖,但它在性能、安全性和一致性方面做了许多改进。
洛秋_
2024/07/11
8640
Npm vs Yarn 之备忘大全
有则笑话,如此讲到:“老丈人爱吃核桃,昨天买了二斤陪妻子送去,老丈人年轻时练过武,用手一拍核桃就碎了,笑着对我说:你还用锤子,你看我用手就成。我嘴一抽,来了句:人和动物最大的区别就是人会使用工具。……”。撇开这样特例场景,这句话还是非常用有道理的;毕竟从远古石器时期或更早,到如今,所言之语,所穿之衣,代步之车,所学的知识,所晓的常识.....皆是工具;可以说绝大部分人之间的差异(天才级除外),仅在于工具使用之优劣罢了。在工具的使用中,很多人极大程度上停留于会用层面,如若不遇到问题,几乎就处于停滞;这本身倒也没有问题,但可能因为没有透彻的了解,而错失了对该物可以拥有的想象力,从而错过了许多本该有的美好,如此的可惜。
晚晴幽草轩轩主
2018/02/04
1.7K0
yarn的安装和使用
//不指定依赖类型默认安装到dependencies里,你也可以指定依赖类型:
全栈程序员站长
2022/07/21
2.5K0
yarn的安装和使用
Yarn 安装与使用详细介绍「建议收藏」
在 Node 生态系统中,依赖通常安装在项目的 node_modules 文件夹中。然而,这个文件的结构和实际依赖树可能有所区别,因为重复的依赖可以合并到一起。npm 客户端把依赖安装到 node_modules 目录的过程具有不确定性。这意味着当依赖的安装顺序不同时,node_modules 目录的结构可能会发生变化。这种差异可能会导致类似 “我的电脑上可以运行,别人的电脑上不行” 的情况,并且通常需要花费大量时间定为与解决。
全栈程序员站长
2022/09/01
10.3K0
Yarn 安装与使用详细介绍「建议收藏」
Npm vs Yarn 之备忘详单
有则笑话,如此讲到:“老丈人爱吃核桃,昨天买了二斤陪妻子送去,老丈人年轻时练过武,用手一拍核桃就碎了,笑着对我说:你还用锤子,你看我用手就成。我嘴一抽,来了句:人和动物最大的区别就是人会使用工具。……”。撇开这样特例场景,这句话还是非常用有道理的;毕竟从远古石器时期或更早,到如今,所言之语,所穿之衣,代步之车,所学的知识,所晓的常识…..皆是工具;可以说绝大部分人之间的差异(天才级除外),仅在于工具使用之优劣罢了。在工具的使用中,很多人极大程度上停留于会用层面,如若不遇到问题,几乎就处于停滞;这本身倒也没有
晚晴幽草轩轩主
2018/03/27
1.6K0
NPM命令实用使用技巧总结
我们经常使用npm init来创建项目,并按照提示输入项目信息(项目名称、作者等),但是,如果我们并不关心项目信息,并且保留默认值,那么我们对 npm 请求的每条数据按 Enter 键即可。事实上,我们只需要使用npm init -y,这个命令就可以达到直接使用默认值信息建一个项目。
winty
2019/12/21
1.1K0
NPM命令实用使用技巧总结
npm 安装yarn
Yarn是Facebook最近发布的一款依赖包安装工具。Yarn是一个新的快速安全可信赖的可以替代NPM的依赖管理工具
全栈程序员站长
2022/07/22
3.2K0
npm 安装yarn
Yarn安装与使用详细介绍
在 Node 生态系统中,依赖通常安装在项目的 node_modules 文件夹中。然而,这个文件的结构和实际依赖树可能有所区别,因为重复的依赖可以合并到一起。npm 客户端把依赖安装到 node_modules 目录的过程具有不确定性。这意味着当依赖的安装顺序不同时,node_modules 目录的结构可能会发生变化。这种差异可能会导致类似“我的电脑上可以运行,别的电脑上不行”的情况,并且通常需要花费大量时间定为与解决。
零式的天空
2022/03/26
14.2K0
npm5 新版功能特性解析及与 yarn 评测对比
前言 前段时间 npm 发布了 5.0 版本,提供了自动记录依赖树,下载使用强校验,重写缓存系统等功能升级和改造,吸引了不少关注。本文将对 npm5 的新功能和变化点在进行实践使用后进行介绍和总结,并和 yarn 进行简单对比。 更新一览 通过官方的 Release note 我们可以看到 npm5 的主要新功能和大改动主要有下面几点(后面将会详细介绍): 默认新增 package-lock.json 来记录依赖树信息,进行依赖锁定,并使用新的 shrinkwrap 格式。 --save 变成了默认参数,执
马铖
2018/01/15
5.8K0
npm5 新版功能特性解析及与 yarn 评测对比
新一代包管理工具yarn
本文介绍了一种新一代的包管理工具Yarn,它具有快速、可靠、安全的特点,支持离线模式、依赖确定性、更好的网络性能、多注册来源处理、网络弹性处理、扁平模式以及安装和更新。同时,作者比较了Yarn和npm在速度、常用命令、使用注意点等方面的差异。
IMWeb前端团队
2018/01/08
1.5K0
新一代包管理工具yarn
一文全面了解pnpm、yarn、cnpm、npx、npm的使用(强烈建议收藏)
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
小码匠
2023/08/31
7.1K0
一文全面了解pnpm、yarn、cnpm、npx、npm的使用(强烈建议收藏)
前端包管理工具与配置项
任何一个项目的构建离不开工具和统一的管理标准,在项目开发和维护过程中,我们需要了解安装包的相应工具和配置文件,以此来有效的进行项目的迭代和版本的更新,为项目提供基本的运行环境。
程序员海军
2023/11/07
8230
前端工程化 - 剖析npm的包管理机制(完整版)
现如今,前端开发的同学已经离不开 npm 这个包管理工具,其优秀的包版本管理机制承载了整个繁荣发展的NodeJS社区,理解其内部机制非常有利于加深我们对模块开发的理解、各项前端工程化的配置以加快我们排查问题(相信不少同学收到过各种依赖问题的困扰)的速度。
ConardLi
2019/12/19
3.3K0
npm常用命令
nrm(npm registry manager )是npm的镜像源管理工具,有时候国外资源太慢,使用这个就可以快速地在 npm 源间切换
张小驰出没
2021/12/06
6170
相关推荐
Yarn常用命令
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档