Yarn 是 Facebook, Google, Exponent 和 Tilde 開(kāi)發(fā)的一款新的 JavaScript 包管理工具。就像我們可以從官方文檔了解那樣,它的目的是解決這些團(tuán)隊(duì)使用 npm 面臨的少數(shù)問(wèn)題,即:
-
安裝的時(shí)候無(wú)法保證速度/一致性
-
安全問(wèn)題,因?yàn)?npm 安裝時(shí)允許運(yùn)行代碼
Yarn 同樣是一個(gè)從 npm 注冊(cè)源獲取模塊的新的 CLI 客戶(hù)端。注冊(cè)的方式不會(huì)有任何變化 —— 你同樣可以正常獲取與發(fā)布包。
yarn,它是 Facebook 最近開(kāi)源的,優(yōu)點(diǎn)是更快、更安全、更可靠。它的主要特性有離線(xiàn)模式、確定性、網(wǎng)絡(luò)性能、多注冊(cè)、網(wǎng)絡(luò)恢復(fù)能力、扁平模式以及 Emoji。
快速:
-
Yarn 會(huì)緩存下載的每一個(gè)包,所以以后不需要重新下載。它還可以并行允許,最大化資源利用,所以安裝速度更快。
可靠:
-
使用一個(gè)詳細(xì)但簡(jiǎn)潔、文件格式、確定性算法來(lái)安裝,Yarn 可以確保在一個(gè)系統(tǒng)中與另一個(gè)系統(tǒng)中運(yùn)行的方式完全相同。
安全:
-
Yarn 會(huì)在代碼運(yùn)行前通過(guò)校驗(yàn)來(lái)驗(yàn)證包安裝的完整性。
Yarn特性
離線(xiàn)模式:
-
如果你之前安裝過(guò)某個(gè)包,你不需要網(wǎng)絡(luò)連接就可以重新安裝它;
確定性:
-
無(wú)論安裝順序如何,相同的依賴(lài)在不同的機(jī)器上都是以相同的方式安裝;
網(wǎng)絡(luò)優(yōu)化:
-
Yarn 會(huì)有效的隊(duì)列化請(qǐng)求,以便最大化網(wǎng)絡(luò)利用;
多注冊(cè):
-
通過(guò) NPM 或 Bower 安裝任何應(yīng)用,并確保包安裝流程相同;
網(wǎng)絡(luò)恢復(fù)能力:
-
一個(gè)單一的請(qǐng)求失敗不會(huì)引起一個(gè)安裝的失敗,請(qǐng)求會(huì)在失敗時(shí)重試;
扁平模式:
解決不匹配的版本依賴(lài)為一個(gè)獨(dú)立的版本,避免創(chuàng)建重復(fù)的;
更多 Emojis。
Yran官網(wǎng)
Yarn英文官網(wǎng): https://www.yarnpkg.com/
Yarn中文官網(wǎng):https://classic.yarnpkg.com/zh-Hans/



