yarn前端不可缺少的包管理工具

一、简介

Yarn 是一个用于管理 JavaScript 项目依赖关系的包管理工具。它是由 Facebook、Google、Exponent 和 Tilde 团队共同开发的,并且在开源社区中得到广泛支持和使用。
Yarn 的目标是解决 npm(Node Package Manager)在性能和可靠性方面的一些问题。它提供了更快的下载速度、更一致的依赖关系解析、更好的缓存管理以及更简洁的命令行界面。
以下是 Yarn 的一些主要特点和功能:
1.快速和可靠的依赖关系解析:Yarn 使用一个锁定文件(yarn.lock)来确保在不同环境中安装相同的依赖项版本。这消除了开发人员之间由于依赖项版本不一致而引起的问题。
2.并行安装:Yarn 支持并行下载和安装依赖项,可以显著加快项目的构建速度。
3.离线模式:Yarn 允许在没有网络连接的情况下进行安装和构建,只要之前已经下载过依赖项并缓存在本地。
4.自动版本解决:Yarn 可以自动解决依赖项之间的版本冲突,并生成一个满足所有依赖项版本要求的解决方案。
5.可选择的网络源:Yarn 允许开发人员选择使用不同的网络源来下载依赖项,包括官方源、镜像源或私有源。
官网:https://classic.yarnpkg.com/en/docs/cli/,基本使用:yarn [command] [options]

二、安装
npm install yarn -g
三、常用命令

1.yarn init:创建package.json,yarn init --yes、yarn init -y跳过会话直接生成package.json
2.yarn install:安装所有依赖包,目录中存在 yarn.lock 文件,Yarn 将根据该文件中的锁定信息来确保安装的依赖项版本与先前安装的一致,不存在yarn.lock 则根据 package.json 文件中的依赖项信息来确定要安装的包的版本,并生成一个新的 yarn.lock 文件
3.yarn add :添加依赖包,默认开发环境,依赖会记录在package.json的dependencies下
4.yarn add --dev:添加依赖包,生产环境,依赖会记录在package.json的devDependencies下
5.yarn add @:添加指定版本依赖包
6.yarn global add :全局添加依赖包
7.yarn upgrade:更新所有依赖包
8.yarn upgrade :更新指定包
9.yarn remove :移除指定包
10.yarn start

四、yarn命令选项

1.–cache-folder :指定用于存储Yarn缓存的自定义文件夹路径。
2.–check-files:在安装过程中验证包的文件树以确保一致性。
3.–cwd :指定要使用的工作目录路径(默认为当前用户的主目录)。
4.–disable-pnp:禁用Plug’n’Play安装。
5.–emoji [bool]:启用输出中的表情符号(默认为false)。
6.–enable-pnp, --pnp:启用Plug’n’Play安装。
7.–flat:只允许一个版本的包存在。
8.–focus:通过安装其兄弟工作区的远程副本,将焦点集中在单个工作区上。
9.–force:即使之前已构建过,也安装和构建包,覆盖锁定文件。
10.–frozen-lockfile:不生成锁定文件,并在需要更新时失败。
11.–global-folder :指定用于存储全局包的自定义文件夹路径。
12.–har:保存网络流量的HAR输出。
13.–ignore-engines:忽略引擎检查。
14.–ignore-optional:忽略可选依赖项。
15.–ignore-platform:忽略平台检查。
16.–ignore-scripts:不运行生命周期脚本。
17.–json:将Yarn日志消息格式化为JSON行(参见jsonlines.org)。
18.–link-duplicates:在node_modules中创建对重复模块的硬链接。
19.–link-folder :指定用于存储全局链接的自定义文件夹路径。
20.–modules-folder :将模块输出到指定的文件夹路径,而不是相对于当前工作目录的node_modules文件夹中。
21.–mutex [:specifier]:使用互斥锁确保只有一个Yarn实例在执行。
22.–network-concurrency :并发网络请求的最大数量。
23.–network-timeout :网络请求的TCP超时时间。
24.–no-bin-links:在设置包时不生成二进制链接。
25.–no-default-rc:防止Yarn自动检测yarnrc和npmrc文件。
26.–no-lockfile:不读取或生成锁定文件。
27.–non-interactive:不显示交互提示。
28.–no-node-version-check:在使用可能不受支持的Node版本时不发出警告。
29.–no-progress:禁用进度条。
30.–offline:如果本地缓存中没有所需的依赖项,则触发错误。
31.–otp :用于双因素身份验证的一次性密码。
32.–prefer-offline:仅在本地缓存中没有依赖项时使用网络。
33.–preferred-cache-folder :指定可用时用于存储Yarn缓存的自定义文件夹路径。
34.–prod, --production [prod]:仅安装生产依赖项。
35.–proxy :设置代理服务器。
36.–pure-lockfile:不生成锁定文件。
37.–registry :覆盖配置中的注册表URL。
38.-s, --silent:跳过Yarn的控制台日志,但会打印其他类型的日志(如脚本输出)。
39.–scripts-prepend-node-path [bool]:在脚本中将Node可执行文件目录添加到PATH中。
40.–skip-integrity-check:在运行安装时跳过检查node_modules是否已安装。
41.–strict-semver:使用严格的语义版本控制。
42.–update-checksums:从当前存储库更新包的校验和。
43.–use-yarnrc :指定Yarn应使用的yarnrc文件路径(仅限.yarnrc,不包括.npmrc)。
44.-v, --version:输出Yarn的版本号。
45.–verbose:输出内部操作的详细消息。
46.-h, --help:输出使用信息。

五、yarn相关命令,可通过yarn [command] -h 获取帮助信息

1.access:管理包的访问权限。
2.add:添加一个或多个包到项目的依赖项中。
3.audit:检查项目的依赖项是否存在安全漏洞。
4.autoclean:自动清理项目中未使用的依赖项。
5.bin:显示或运行项目中的二进制文件。
6.cache:管理Yarn的缓存。
7.check:检查项目的依赖项是否已安装并且与 yarn.lock 文件一致。
8.config:配置Yarn的设置。
9.create:创建新的Yarn项目。
10.exec:在项目上下文中执行命令。
11.generate-lock-entry / generateLockEntry:生成 yarn.lock 文件的条目。
12.global:管理全局安装的包。
13.help:获取有关Yarn命令的帮助信息。
14.import:将包从其他包管理工具导入到Yarn。
15.info:获取有关包的信息。
16.init:在当前目录中初始化一个新的Yarn项目。
17.install:安装项目的依赖项。
18.licenses:列出项目依赖项的许可证信息。
19.link:将本地包链接到项目中。
20.list:列出项目的依赖项。
21.login:登录到Yarn的注册表。
22.logout:注销Yarn的注册表。
23.node:在指定的Node版本下运行命令。
24.outdated:检查项目的依赖项是否已过时。
25.owner:管理包的所有者。
26.pack:将包打包为压缩文件。
27.policies:管理项目的策略。
28.publish:发布包到注册表。
29.remove:从项目的依赖项中移除一个或多个包。
30.run:运行项目中定义的自定义脚本。
31.tag:管理包的标签。
32.team:管理包的团队。
33.unlink:取消链接本地包。
34.unplug:将包从Plug’n’Play安装模式中解除。
35.upgrade:升级项目的依赖项。
36.upgrade-interactive / upgradeInteractive:以交互方式升级项目的依赖项。
37.version:显示Yarn的版本号。
38.versions:显示包的可用版本。
39.why:解释为什么某个包被安装。
40.workspace:在工作区中执行命令。
41.workspaces:管理Yarn工作区。

六、镜像源

yarn config set registry :设置镜像源
1.npm 官方原始镜像网址是:https://registry.npmjs.org/
2.淘宝 NPM 镜像:https://registry.npm.taobao.org
3.阿里云 NPM 镜像:https://npm.aliyun.com
4.腾讯云 NPM 镜像:https://mirrors.cloud.tencent.com/npm/
5.华为云 NPM 镜像:https://mirrors.huaweicloud.com/repository/npm/
6.网易 NPM 镜像:https://mirrors.163.com/npm/
7.中科院大学开源镜像站:http://mirrors.ustc.edu.cn/
8.清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

局外人LZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值