yarn 包管理工具的介绍

180 阅读2分钟

这是我参与2022首次更文挑战的第18天,活动详情查看:2022首次更文挑战

hi 我是小十七_,之前总结过yarn 包管理工具的介绍,分享给大家~

简介

2016 年 10 月,facebook 发布的用于替代 npm 的包管理器

安装

参见:yarnpkg.com/en/docs/ins…

特点

离线模式(重要)

已经安装过一次的包,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"
  }

install again

依赖关系确定性(重要)

在安装所有包时,yarn 会用 yarn.lock 文件记录包中依赖的版本和安装地址,保证每次安装软件包时依赖都是完全一致的。 yarn.lock

更好的网络性能

对于没有缓存的模块,yarn 会通过并行的网络请求最大限度的利用网络资源。

多注册来源处理

所有的依赖包,只会从一个注册来源去装,npm 或者 bower。

网络弹性处理

安装依赖时,当请求失败会自动重试。

扁平模式(重要)

如果依赖里有对某个包的重复引用,实际安装时尽量避免重复的创建

安全

在从缓存中安装包时,会先用 checksums 验证,不必担心本地缓存的包被破坏导致安装失败。

提示信息精确到某个依赖中的某个包

提示信息

命令

npm 迁移文档:yarnpkg.com/en/docs/mig…

yarnnpm
yarn initnpm init
yarn add [package]npm install [package] --save
yarn add [package] -devnpm install [package] --save-dev
yarn upgrade [package]npm update
yarn remove [package]npm uninstall --save [package]

yarn init

yarn init

yarn add [package]

yarn add

其它命令参见: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…