yarn的安裝及使用詳解
一、引言
之前出過(guò)一篇關(guān)于 用 npm 創(chuàng)建 react 項(xiàng)目的介紹與使用教程,本文在此介紹并對(duì)比一下 yarn 的使用。
yarn 是由 Facebook、Google、Exponent 和 Tilde 聯(lián)合推出了一個(gè)新的 JS 包管理工具,yarn 是為了彌補(bǔ) npm 的一些缺陷而出現(xiàn)的。
二、同為包管理工具 npm和yarn的區(qū)別
1、并行安裝:yarn安裝包會(huì)同時(shí)執(zhí)行多個(gè)任務(wù),npm 需等待上一個(gè)任務(wù)安裝完成才能運(yùn)行下一個(gè)任務(wù)
2、離線模式:如果你已經(jīng)安裝過(guò)一個(gè)包,用 yarn 再次安裝會(huì)從緩存中獲取,而 npm 會(huì)從網(wǎng)絡(luò)下載
3、版本鎖定:yarn 默認(rèn)有一個(gè) yarn.lock 文件鎖定版本,保證環(huán)境統(tǒng)一,而 npm 默認(rèn)從網(wǎng)絡(luò)下載最新的最穩(wěn)定的,版本鎖定可以解決包之間版本不兼容問(wèn)題,npm 也可以通過(guò)命令實(shí)現(xiàn)版本鎖定
4、更簡(jiǎn)潔的輸出:yarn 安裝包時(shí)輸出的信息較少,npm 輸出信息冗余
三、yarn的安裝
1. nodejs下載安裝:
在node.js 官網(wǎng)里推薦選擇 LTS (長(zhǎng)期支持)版本,可在命令行用node -v 查看node的安裝版本。順便npm -v查看npm的版本號(hào)。
2. yarn的安裝并查看版本:
npm install -g yarn yarn --version
四、總結(jié)
npm存在的一些不足:
npm install下載速度慢,即使是重新 install 時(shí)速度依舊慢- 同一個(gè)項(xiàng)目,安裝的無(wú)法保持一致性。原因是因?yàn)?package.json 文件中版本號(hào)的特點(diǎn)導(dǎo)致在安裝的時(shí)候代表不同的含義。
- 使用 npm 安裝多個(gè) js 包時(shí),包會(huì)在同一時(shí)間下載和安裝。安裝過(guò)程中,其中一個(gè)包拋出了一個(gè)異常,但 npm 會(huì)繼續(xù)安裝其他包,所以錯(cuò)誤信息就會(huì)在一大堆提示信息中丟失掉,以至于直到執(zhí)行前,都不會(huì)發(fā)現(xiàn)實(shí)際發(fā)生的錯(cuò)誤。
Yarn的優(yōu)點(diǎn):
- 安裝速度快 (服務(wù)器速度快 , 并且是并行下載)
- 版本鎖定,安裝版本統(tǒng)一
- 緩存機(jī)制,如果之前已經(jīng)安裝過(guò)一個(gè)軟件包,用Yarn再次安裝時(shí)之間從緩存中獲取,就不用像npm那樣再?gòu)木W(wǎng)絡(luò)下載了
- 輸出簡(jiǎn)潔并且多注冊(cè)來(lái)源處理。安裝包時(shí),直觀地打印出必要的信息;不管包被不同的庫(kù)間接關(guān)聯(lián)引用多少次,只會(huì)從一個(gè)注冊(cè)來(lái)源去裝,防止出現(xiàn)混亂不一致。
npm 與 yarn 常用命令對(duì)比

到此這篇關(guān)于yarn的安裝及使用教程的文章就介紹到這了,更多相關(guān)yarn安裝使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用nodejs的實(shí)現(xiàn)原理和搭建服務(wù)器(動(dòng)態(tài))
下面小編就為大家?guī)?lái)一篇用nodejs的實(shí)現(xiàn)原理和搭建服務(wù)器(動(dòng)態(tài))。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
node中IO以及定時(shí)器優(yōu)先級(jí)詳解
這篇文章主要給大家介紹了關(guān)于node中IO以及定時(shí)器優(yōu)先級(jí)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用node具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Node綁定全局TraceID的實(shí)現(xiàn)方法
這篇文章主要介紹了Node 綁定全局 TraceID的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
利用Chrome DevTools直接調(diào)試Node.js和JavaScript的方法詳解(并行)
現(xiàn)在我們可以用瀏覽器調(diào)試node.js了!!!下面這篇文章主要介紹了利用Chrome DevTools直接調(diào)試Node.js和JavaScript的方法步驟,文中介紹的很詳細(xì),需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-02-02
Node.js websocket使用socket.io庫(kù)實(shí)現(xiàn)實(shí)時(shí)聊天室
這篇文章主要為大家詳細(xì)介紹了Node.js websocket使用socket.io庫(kù)實(shí)現(xiàn)實(shí)時(shí)聊天室,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
nodejs(officegen)+vue(axios)在客戶端導(dǎo)出word文檔的方法
這篇文章主要介紹了nodejs(officegen)+vue(axios)在客戶端導(dǎo)出word文檔的方法,需要的朋友可以參考下2018-07-07
node.js中的buffer.Buffer.byteLength方法使用說(shuō)明
這篇文章主要介紹了node.js中的buffer.Buffer.byteLength方法使用說(shuō)明,本文介紹了buffer.Buffer.byteLength的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12

