Yarn,或?qū)⑷〈鷑pm客戶端

Yarn 是一個(gè)新的包管理器,用于替代現(xiàn)有的 npm 客戶端或者其他兼容 npm 倉庫的包管理工具辆它。Yarn 保留了現(xiàn)有工作流的特性,優(yōu)點(diǎn)是更快履恩、更安全锰茉、更可靠。

為什么用yarn

非城行模快飒筑,非常非常快

yarn 緩存了每次你下載的模塊绽昏,所以同樣模塊同樣的版本不會(huì)發(fā)送第二次下載請(qǐng)求协屡,對(duì)于沒有緩存的模塊, yarn 也可以通過并行的網(wǎng)絡(luò)請(qǐng)求最大限度利用網(wǎng)絡(luò)資源∪現(xiàn)在真的是沒有什么幾十秒安裝不完的依賴的肤晓。一個(gè) 50 個(gè)依賴的 webpack + babel 項(xiàng)目可以在 20 秒左右安裝完成。

安全

yarn在開始安裝一個(gè)包之前會(huì)先用 checksums 來驗(yàn)證认然,你不用擔(dān)心本地的緩存的包被破壞了導(dǎo)致安裝失敗材原。

可靠

被一群喜歡喵星人的開發(fā)者維護(hù),以及有 FaceBook 在 production 環(huán)境中使用季眷。完善的測(cè)試和基于 flow type 的 code base。保證各平臺(tái)依賴的一致性卷胯。

網(wǎng)絡(luò)優(yōu)化

力求網(wǎng)絡(luò)資源最大利用化子刮,讓資源下載完美隊(duì)列執(zhí)行,避免大量的無用請(qǐng)求窑睁,下載失敗會(huì)自動(dòng)重新請(qǐng)求挺峡,避免整個(gè)安裝過程失敗

扁平化模式

對(duì)于不匹配的依賴版本的包創(chuàng)立一個(gè)獨(dú)立的包,避免創(chuàng)建重復(fù)的担钮。

以及很多令人感動(dòng)的小改進(jìn)

  1. 有些 npm 包會(huì)拋出 warning 提示信息橱赠,在一起 npm install 的時(shí)候只有一個(gè)名字你完全不知道是哪個(gè)包的哪個(gè)包的哪個(gè)包拋出的這個(gè)信息,而 yarn 改善了這一點(diǎn)箫津。
  2. yarn ls 會(huì)高亮出所有在 package.json 的 dependencies 里的依賴狭姨,增強(qiáng)可讀性。
  3. 每一條命令都會(huì)顯示執(zhí)行的時(shí)間苏遥。
  4. 默認(rèn)生成 lockfile . 保證 yarn 每次安裝相同版本的依賴饼拍,npm shrinkwrap 會(huì)喪失掉同步性如果你忘了生成它。
  5. yarn why <name> 這條命令可以告訴你為什么一個(gè)依賴會(huì)被安裝到你的項(xiàng)目中田炭。

安裝

安裝yarn其實(shí)非常簡(jiǎn)單师抄,可以使用npm進(jìn)行安裝yarn包。其官網(wǎng)也有相應(yīng)的安裝文檔:yarn docs

$ npm install -g yarn

安裝完成之后可以查看版本號(hào)

$ yarn --version

或者

$ yarn -v

使用

初始化

切換到自己的項(xiàng)目目錄教硫,執(zhí)行

$ yarn init

然后照著提示依次輸入?yún)?shù)就OK了叨吮。
如果覺得麻煩辆布,可以直接執(zhí)行

$ yarn init -y

這樣可以直接創(chuàng)建最簡(jiǎn)的一個(gè)項(xiàng)目。其中包含了package.json文件茶鉴。

添加包依賴

接下來可以直接在此添加包依賴了,會(huì)自動(dòng)安裝最新版本锋玲,注意會(huì)覆蓋指定版本號(hào)

$ yarn add [package]@[version]

或者

$ yarn add [package]@[tag]

你會(huì)發(fā)現(xiàn),在客戶端會(huì)打印一出一堆信息如下蛤铜,添加jquery依賴:

$ yarn add jquery
yarn add v0.21.3
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
█████████████████████?????????????????????????????????????
█████████████████████████████████?????????????
████████████████████████████████████████
████████████████████████████████████████
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
└─ jquery@3.2.1
Done in 4.28s.

這時(shí)在當(dāng)前目錄中自動(dòng)添加了一個(gè)yarn.lock文件嫩絮,用于記錄所有的包依賴信息。

更新包依賴

更新某包

$ yarn update [package]

更新指定版本的包

$ yarn update [package]@[version]

更新到指定某個(gè)標(biāo)簽上的包

$ yarn update [package]@[tag]

移除依賴

$ yarn remove [package]

后面的參數(shù)可以與更新包的類似围肥。

開工

在多人團(tuán)隊(duì)協(xié)作的時(shí)候剿干,拉到代碼之后,可以類似于npm一樣穆刻,執(zhí)行

$ yarn install

即可以開工啦置尔!

總結(jié)

yarn管理器有一個(gè)很重要的文件需要注意,就是yarn.lock氢伟,這個(gè)是用來依賴的正確性榜轿,快速可靠安裝的;是執(zhí)行cli的時(shí)候自動(dòng)生成的朵锣,在項(xiàng)目的根目錄下谬盐,需要保留!3闲7煽!不要編輯它诬烹,這是自動(dòng)生成的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末砸烦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子绞吁,更是在濱河造成了極大的恐慌幢痘,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件家破,死亡現(xiàn)場(chǎng)離奇詭異颜说,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)汰聋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門脑沿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人马僻,你說我怎么就攤上這事庄拇。” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵措近,是天一觀的道長(zhǎng)溶弟。 經(jīng)常有香客問我,道長(zhǎng)瞭郑,這世上最難降的妖魔是什么辜御? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮屈张,結(jié)果婚禮上擒权,老公的妹妹穿的比我還像新娘。我一直安慰自己阁谆,他們只是感情好碳抄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著场绿,像睡著了一般剖效。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上焰盗,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天璧尸,我揣著相機(jī)與錄音,去河邊找鬼熬拒。 笑死爷光,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的澎粟。 我是一名探鬼主播瞎颗,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼捌议!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起引有,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤瓣颅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后譬正,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宫补,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年曾我,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了粉怕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抒巢,死狀恐怖贫贝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤稚晚,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布崇堵,位于F島的核電站,受9級(jí)特大地震影響客燕,放射性物質(zhì)發(fā)生泄漏鸳劳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一也搓、第九天 我趴在偏房一處隱蔽的房頂上張望赏廓。 院中可真熱鬧,春花似錦傍妒、人聲如沸幔摸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抚太。三九已至,卻和暖如春昔案,著一層夾襖步出監(jiān)牢的瞬間尿贫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工踏揣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留庆亡,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓捞稿,卻偏偏與公主長(zhǎng)得像又谋,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子娱局,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

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