yarn

yuhuo2023-09-21JavaScriptNodeJs
参考链接

前言

yarn 主要解决 npm v3 版存在的一些问题,进行了以下优化:

  • node_modules 嵌套结构改为扁平结构;
  • 通过并行下载和缓存机制提升安装速度;
  • 通过 lockfile 解决不确定性;

随着 npm 新版发布,以前的问题得以解决,现在 yarn v1 版和 npm 已经没有太多区别。

2020 年,yarn 发布 v2 版,重点推出一种全新的零安装模式(PnP)。

PnP 模式放弃 node_modules,通过 .pnp.cjs 文件记录依赖在缓存中的具体位置,所有依赖都存在全局缓存中。同时自建了一个解析器,在依赖引用时,帮助 node 从全局缓存目录中发现依赖,而不是查找 node_modules

这种模式虽然效率提高了,但也有缺点:

  • 脱离了 node 生态,某些依赖 node_modules 的工具(比如 Webpack,Babel)可能存在兼容性问题;
  • 依靠 PnP 的依赖解析器,只能通过 yarn 来运行 node 脚本;

安装

npm install yarn -g

run

# 查看 pakage.json 下的所有 scripts 脚本
yarn run
# 运行指定 scripts 脚本
yarn run <task-name>
# run 可以直接省略
yarn <task-name> 

add

# 运行依赖包安装
yarn add <name>
# 开发依赖包安装
yarn add <name> --dev

upgrade

# 更新依赖包
yarn upgrade <name>

remove

# 卸载指定包
yarn remove <name>  
Last Updated 2024/3/14 09:51:53