Yarn 发布于 2016 年 10 月, 是 Facebook,Google,Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具. 它相比与 NPM 更佳的高效, 安全和可靠. 在 GitHub 上迅速拥有了 30.7k 个 Star, 而 NPM 只有 15.8k 个 Star.
Yarn 的优势
高效: Yarn 缓存了每个下载过的包, 所以再次使用时无需重复下载. 同时利用并行下载以最大化资源利用率, 因此安装速度更快.
安全: 在执行代码之前, Yarn 会通过算法校验每个安装包的完整性.
可靠: 使用详细, 简洁的锁文件格式和明确的安装算法, Yarn 能够保证在不同系统上无差异的工作.
如何安装 (macOS)
我们通过 Homebrew 来安装 Yarn, 如果没有安装 Node 它也可以安装:
- brew install yarn
- yarn --version
升级 Yarn
brew upgrade yarn
如何使用
初始化新项目
yarn init
添加依赖包
- yarn add [package]
- yarn add [package]@[version]
- yarn add [package]@[tag]
- yarn add [package] --dev
- yarn add [package] --peer
- yarn add [package] --optional
升级依赖包
- yarn upgrade [package]
- yarn upgrade [package]@[version]
- yarn upgrade [package]@[tag]
移除依赖包
yarn remove [package]
安装项目的全部依赖
yarn
或者
yarn install
Yarn 的工作流
创建一个新项目: Yarn 也是用 package.JSON 文件来管理项目的依赖的
增加 / 更新 / 删除依赖
安装 / 重装你的依赖
引入版本控制系统
package.JSON: 包含包的所有依赖信息;
yarn.lock: 记录每一个依赖项的确切版本信息;
持续集成
yarn.lock
为了跨设备安装得到一致的结果, Yarn 需要比 package.JSON 中更多的依赖信息, Yarn 使用 yarn.lock 文件来保存每一个安装的依赖版本;
yarn.lock 文件是自动生成的, 而且应该完全被 Yarn 管理. 当你在对项目进行 增加 / 更新 / 删除 等依赖操作时, 它会自动的更新 yarn.lock 文件;
所有的 yarn.lock 文件都应该被提交到版本控制系统中去, 这样才会让所有的设备保持同样的依赖.
如何从 NPM 迁移到 Yarn
大家不要担心迁移, 从 NPM 迁移到 Yarn 是一件非常简单的事情, Yarn 和 NPM 使用同样的 package.JSON 文件, 现在只需要运行 yarn Yarn 将通过自己的解析算法来重新组织 node_modules 目录, 这个算法和 node.JS 模块解析算法是兼容的.
来源: http://www.jianshu.com/p/b17f995b4826