JavaScript 包管理工具 yarn 的使用

yarn 的優(yōu)勢

yarn 是 facebook 在 2016年10月11日發(fā)布到 JavaScript 包管理工具房维。yarn 的優(yōu)勢可以總結(jié)為:更快倘屹、更穩(wěn)定、更友好眼滤。

1 更快

  • npm 是按照隊列安裝每一個包,前一個包會阻塞后一個包的安裝大猛。yarn 是并行安裝扭倾,速度更快。
  • 如果安裝過某個包挽绩,yarn 會從本機(jī)離線安裝膛壹,無需再次下載
  • yarn 也是可以使用淘寶源。通過設(shè)置 ~/.npmrc 就可以使用唉堪。npmrc 配置文件中的具體內(nèi)容參考解決 npm install electron 卡在 node install.js 的問題 模聋。

2 更穩(wěn)定

yarn 會鎖定版本。本次安裝的包巨坊,yarn 會在當(dāng)前項目目錄下生成 yarn.lock 文件撬槽,記錄下準(zhǔn)確的包版本,下次安裝時能夠原汁原味的還原趾撵。為什么要求強調(diào)這個原版還原。因為 npm install 安裝一個包共啃,會在 package.json 中得到一個帶向上箭頭的版本號 "^2.3.0"占调,這代表在 2.X.X 大版本中的最新版本,而如果這個大版本中的內(nèi)容變動比較大移剪,往往就會引起版本的問題究珊。受到 yarn 的壓力,從 npm 5 開始也會自動生成一個版本鎖定文件 package-lock.json纵苛。

3 更友好

個人感覺 npm 產(chǎn)生的 warning 更多剿涮,而且 yarn 的安裝信息簡短明確。

比如安裝一個包攻人,如果沒有在 package.json 中設(shè)置 description 和 repository 也會被 npm 發(fā)警告取试。

> npm install babel-preset-es2015
npm WARN deprecated babel-preset-es2015@6.24.1: ????  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
npm WARN tmp@1.0.0 No description
npm WARN tmp@1.0.0 No repository field.

+ babel-preset-es2015@6.24.1
added 65 packages in 8.547s

而 yarn 即使沒有 yarn.lock 文件,也就是給一個 info 提示一下怀吻,而且 emoji 的信息用得也挺好瞬浓。

> yarn add babel-preset-es2015
yarn add v1.3.2
info No lockfile found.
[1/4] ??  Resolving packages...
warning babel-preset-es2015@6.24.1: ????  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
[2/4] ??  Fetching packages...
[3/4] ??  Linking dependencies...
[4/4] ??  Building fresh packages...
success Saved lockfile.
success Saved 69 new dependencies.
?  Done in 6.54s.

yarn 的使用

1 安裝 yarn

直接使用 npm 全局安裝 yarn 即可

npm install -g yarn 

雖然官方推薦使用 Homebrew 用如下方式安裝 yarn。

brew install

但是 npm 安裝方便又快捷蓬坡,一行命令即可猿棉,何必去安裝 Homebrew,畢竟 Homebrew 自身的安裝與安裝包屑咳,如果沒有更換為國內(nèi)的清華源或者中科大源等國內(nèi)源萨赁,速度極其慢。

2 安裝與刪除 npm 包

yarn 與 npm 的對比

  • 根據(jù) package.json 安裝依賴包
yarn install
npm install
  • 當(dāng)前目錄下安裝
npm install <package_name>
yarn add <package_name>
  • 安裝指定版本
npm install <package_name>@2.3.0
yarn add <package_name>@2.3.0
  • 當(dāng)前目錄下的開發(fā)依賴中安裝
yarn add <package_name> --dev
npm install <package_name> --save-dev
  • 全局安裝
yarn global add <package_name> 
npm install <package_name> --g
  • 刪除
yarn remove <package_name>
npm uninstall <package_name>

3 初始化項目與運行腳本命令

  • 初始化項目 yarn init
    初始化后產(chǎn)生的 package.json 與 npm init 的結(jié)果類似兆龙,唯一就是 scripts 這個鍵名需要自己添加杖爽。

  • 運行腳本命令 yarn run <script>
    npm run 類似。

參考

npm和yarn的區(qū)別,我們該如何選擇掂林?

技術(shù)丨微軟工程師淺談時下最火的包管理工具Yarn

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末臣缀,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子泻帮,更是在濱河造成了極大的恐慌精置,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锣杂,死亡現(xiàn)場離奇詭異脂倦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)元莫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門赖阻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人踱蠢,你說我怎么就攤上這事火欧。” “怎么了茎截?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵苇侵,是天一觀的道長。 經(jīng)常有香客問我企锌,道長榆浓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任撕攒,我火速辦了婚禮陡鹃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘抖坪。我一直安慰自己萍鲸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布柳击。 她就那樣靜靜地躺著猿推,像睡著了一般。 火紅的嫁衣襯著肌膚如雪捌肴。 梳的紋絲不亂的頭發(fā)上蹬叭,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機(jī)與錄音状知,去河邊找鬼秽五。 笑死,一個胖子當(dāng)著我的面吹牛饥悴,可吹牛的內(nèi)容都是我干的坦喘。 我是一名探鬼主播盲再,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼瓣铣!你這毒婦竟也來了答朋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤棠笑,失蹤者是張志新(化名)和其女友劉穎梦碗,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蓖救,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡洪规,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了循捺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斩例。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖从橘,靈堂內(nèi)的尸體忽然破棺而出念赶,到底是詐尸還是另有隱情,我是刑警寧澤恰力,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布晶乔,位于F島的核電站,受9級特大地震影響牺勾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜阵漏,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一驻民、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧履怯,春花似錦回还、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至运提,卻和暖如春蝗柔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背民泵。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工癣丧, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人栈妆。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓胁编,卻偏偏與公主長得像厢钧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子嬉橙,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345

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