这是我参与2022首次更文挑战的第18天,活动详情查看:2022首次更文挑战
hi 我是小十七_,之前总结过yarn 包管理工具的介绍,分享给大家~
简介
2016 年 10 月,facebook 发布的用于替代 npm 的包管理器
安装
特点
离线模式(重要)
已经安装过一次的包,yarn 会缓存在本地,再次安装时不会从网络下载了。 安装如下依赖共用 24s,删除 node_modules 再次安装用时 2s 左右。
"dependencies": {
"vue": "^2.1.3",
"vue-async-data": "^1.0.2",
"vue-hot-reload-api": "^2.0.6",
"vue-html-loader": "^1.2.3",
"vue-loader": "^10.0.1",
"vue-resource": "^1.0.3",
"vue-router": "^2.0.3"
}
依赖关系确定性(重要)
在安装所有包时,yarn 会用 yarn.lock 文件记录包中依赖的版本和安装地址,保证每次安装软件包时依赖都是完全一致的。
更好的网络性能
对于没有缓存的模块,yarn 会通过并行的网络请求最大限度的利用网络资源。
多注册来源处理
所有的依赖包,只会从一个注册来源去装,npm 或者 bower。
网络弹性处理
安装依赖时,当请求失败会自动重试。
扁平模式(重要)
如果依赖里有对某个包的重复引用,实际安装时尽量避免重复的创建
安全
在从缓存中安装包时,会先用 checksums 验证,不必担心本地缓存的包被破坏导致安装失败。
提示信息精确到某个依赖中的某个包
命令
npm 迁移文档:yarnpkg.com/en/docs/mig…
yarn | npm |
---|---|
yarn init | npm init |
yarn add [package] | npm install [package] --save |
yarn add [package] -dev | npm install [package] --save-dev |
yarn upgrade [package] | npm update |
yarn remove [package] | npm uninstall --save [package] |
yarn init
yarn add [package]
其它命令参见:blog.gaoqixhb.com/p/5821e6fac…
参考链接
yarn 介绍: www.zhihu.com/question/51… gold.xitu.io/entry/57fd9… blog.gaoqixhb.com/p/5821e6fac… npm 迁移到 yarn: yarnpkg.com/en/docs/mig…