-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
概述
据官方文档描述,Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具,为了解决NPM在一致性、安全性、性能方面的问题。
Yarn有下面几个方面的优势:
- 速度超快。Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。
- 超级安全。在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
- 超级可靠。使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。
- 一致性。为了防止拉取到不同的版本,Yarn 有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号。每次只要新增了一个模块,Yarn 就会创建(或更新)yarn.lock 这个文件。
指令
- 初始化
yarn init
- 添加依赖包
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
yarn add [package] --dev,添加到devDependencies
yarn add [package] --peer,添加到peerDependencies
yarn add [package] --optional,添加到optionalDependencies
- 升级依赖包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
- 移除依赖包
yarn remove [package]
- 安装项目的全部依赖
yarn
或
yarn install
Yarn 工作流
- 创建一个新项目
- 增加/更新/删除依赖
- 安装/重装依赖。Yarn会从
package.json中读取依赖,并将依赖信息存储到yarn.lock中。 - 引入版本控制系统(例如 git)。为了别人能使用你的包,以下文件必须被提交进版本控制系统:
package.json和yarn.lock - 持续集成
Yarn 指令
关键概念
package.json 和 yarn.lock
所以依赖都在 package.json 文件里声明,包含开发依赖、运行依赖、可选依赖等。 每个依赖都需要指明依赖名称和最低可用版本。
yarn.lock 里保存了每个依赖的安装版本,这可以确保你的包每次安装的一致性。
依赖类型
- dependencies,这是所谓的常规依赖,确切地说,是代码运行时所需要的。
- devDependencies,这是开发依赖,就是那些只在开发过程中需要,而运行时不需要的依赖。
- peerDependencies,这是“同伴依赖”,一种特殊的依赖,意味着安装包的用户也需要和包同样的依赖。
- optionalDependencies,这是“可选依赖”,意味着依赖是……可选的。这种依赖即便安装失败,Yarn也会认为整个依赖安装过程是成功的。
- bundledDependencies,这是“捆绑依赖”,在发布包时,这个数组里的包都会被捆绑打包(Bundle)。
工作区
工作区是设置你的软件包体系结构的一种新方式,使用这种方式安装多个软件包, 就是只需要运行一次 yarn install 便可将所有依赖包全部安装。
参考
Yarn: A new package manager for JavaScript
Yarn 官网
Yarn CLI
npm和yarn的区别,我们该如何选择?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels