Yarn 下一代 Node 包管理器

簡介

在 JavaScript 社區(qū)中展箱,工程師們互相分享成千上萬的代碼羊赵,幫助我們節(jié)省大量編寫基礎(chǔ)組件舷蒲、類庫或框架的時(shí)間耸袜。每個(gè)代碼包可能都依賴于其他代碼,而代碼間的依賴關(guān)系則由包管理器負(fù)責(zé)維護(hù)牲平。目前最流行的 JavaScript 包管理器是 npm 客戶端堤框,在 npm 倉庫中提供了多達(dá) 30 萬的軟件包。據(jù)統(tǒng)計(jì)纵柿,已有超過 500 萬的工程師使用 npm 倉庫蜈抓,其軟件包下載量達(dá)到了 50 億次/月。

在 Facebook 中昂儒,我們多年來一直在使用 npm 客戶端并取得了成功沟使,但隨著代碼倉庫與團(tuán)隊(duì)人數(shù)的增長,我們在一致性渊跋、安全性以及性能方面遇到了挑戰(zhàn)腊嗡。在嘗試解決每個(gè)方面的問題后着倾,我們最終決定著手打造一套新的客戶端解決方案,以幫助我們更可靠地管理依賴燕少。我們把這個(gè)客戶端工具稱為Yarn —— 更加快速卡者、可靠、安全的 npm 客戶端的替代品棺亭。

與 Exponent虎眨、 Google 和 Tilde 進(jìn)行了合作,并開源 Yarn 項(xiàng)目镶摘。工程師在使用 Yarn 時(shí)嗽桩,依然需要訪問 npm 倉庫,但 Yarn 能夠更快速地安裝軟件包和管理依賴關(guān)系凄敢,并且可以在跨機(jī)器或者無網(wǎng)絡(luò)的安全環(huán)境中保持代碼的一致性碌冶。Yarn 提高了開發(fā)效率,并解決了共享代碼時(shí)面臨的一些問題涝缝,使得工程師們可以專注在構(gòu)建新產(chǎn)品以及新特性上扑庞。

特性

本地緩存

類似 GradleYarn 會(huì)把使用過的模塊在本地緩存一份拒逮,如果下次還要用到相同版本的模塊罐氨,那么將會(huì)直接使用本地的而不是訪問網(wǎng)絡(luò)重新獲取一份。

這個(gè)特性碾壓 NPM 了啊有木有滩援!我之前使用 NPM 的時(shí)候一直想吐槽這個(gè)來著栅隐,如果全局安裝項(xiàng)目就會(huì)依賴環(huán)境,如果不全局安裝那么每個(gè)項(xiàng)目都要重新下載一次包玩徊,浪費(fèi)時(shí)間和資源租悄。

安全性

安裝之前會(huì)驗(yàn)證文件完整性,所以不用擔(dān)心安裝到損壞的文件啦

可靠

Facebook 都把它用在生產(chǎn)環(huán)境中了恩袱,Google 也要參與維護(hù)了泣棋,Github 上那么多的 star,絕壁可靠了吧

更優(yōu)雅的命令

命令相比起 NPM 更容易理解畔塔,默認(rèn)的設(shè)置足夠貼心潭辈,感覺要起飛了

使用

說了這么多也心動(dòng)了,那么我們就開始安裝 Yarn 吧澈吨。

安裝

筆者使用的是 Mac把敢,所以只會(huì)介紹 Mac 的安裝方法,其它方式請參照 Installation Guide

Mac 上有三種安裝方式棚辽,推薦使用 Homebrew 安裝技竟。

Homebrew安裝

輸入以下命令即可

brew update
brew install yarn

如果使用 NVM 的話冰肴,可以刪除依賴中的 node:

brew uninstall node

安裝腳本

下載官網(wǎng)提供的安裝腳本來安裝

curl -o- -L https://yarnpkg.com/install.sh | bash

npm 安裝

這是最不推薦的一個(gè)方式

npm install --global yarn

驗(yàn)證安裝成功

選擇以上三個(gè)方法之中的任意一種安裝成功之后屈藐,運(yùn)行如下命令檢測是否安裝成功

yarn --version

如果提示沒有命令榔组,去修改.zshrc(或.profile, .bashrc)添加如下語句

export PATH="$PATH:$HOME/.yarn/bin"

常用命令

安裝完畢了,那么就要使用它了联逻,下面是一些常用命令和 NPM 對應(yīng)命令的對照表

作用 NPM 命令 Yarn 命令
安裝 npm install yarn
安裝某個(gè)包 npm install xxx —save yarn add xxx
刪除某個(gè)包 npm uninstall xxx —save yarn remove xxx
開發(fā)模式下安裝某個(gè)包 npm install xxx —save-dev yarn add xxx —dev
更新 npm update —save yarn upgrade
全局安裝 npm install xxx –global yarn global add xxx

還有一些包發(fā)布者才會(huì)用到的命令就不作詳細(xì)講解了

總結(jié)

yarn 目前來說已經(jīng)可以做到替換 npm 了搓扯,趕緊使用它換取更高的工作效率吧,Enjoy it~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末包归,一起剝皮案震驚了整個(gè)濱河市锨推,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌公壤,老刑警劉巖换可,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異厦幅,居然都是意外死亡沾鳄,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門确憨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來译荞,“玉大人,你說我怎么就攤上這事休弃⊥碳撸” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵塔猾,是天一觀的道長篙骡。 經(jīng)常有香客問我,道長桥帆,這世上最難降的妖魔是什么医增? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮老虫,結(jié)果婚禮上叶骨,老公的妹妹穿的比我還像新娘。我一直安慰自己祈匙,他們只是感情好忽刽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著夺欲,像睡著了一般跪帝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上些阅,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天伞剑,我揣著相機(jī)與錄音,去河邊找鬼市埋。 笑死黎泣,一個(gè)胖子當(dāng)著我的面吹牛恕刘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播抒倚,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼褐着,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了托呕?” 一聲冷哼從身側(cè)響起含蓉,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎项郊,沒想到半個(gè)月后馅扣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡着降,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年岂嗓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹊碍。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡厌殉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出侈咕,到底是詐尸還是另有隱情公罕,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布耀销,位于F島的核電站楼眷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏熊尉。R本人自食惡果不足惜罐柳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望狰住。 院中可真熱鬧张吉,春花似錦、人聲如沸催植。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽创南。三九已至伦忠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間稿辙,已是汗流浹背昆码。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人赋咽。 一個(gè)月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓笔刹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親冬耿。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容