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>