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)文章
node-sass常見(jiàn)報(bào)錯(cuò)的問(wèn)題及解決方法
在安裝node-sass時(shí),經(jīng)常會(huì)遇到下載慢、版本不匹配或python錯(cuò)誤等問(wèn)題,使用淘寶鏡像加速下載、通過(guò)nvm管理node版本或指定node-sass版本號(hào)安裝,都能有效解決這些問(wèn)題,若遇到python相關(guān)錯(cuò)誤,檢查node版本是否合適通??梢越鉀Q,感興趣的朋友一起看看本文吧2024-09-09
Nodejs使用express 編寫(xiě)接口的實(shí)現(xiàn)
express是一個(gè)第三方模塊,支持豐富的api,本文主要介紹了Nodejs使用express 編寫(xiě)接口的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06
node+multer實(shí)現(xiàn)圖片上傳的示例代碼
這篇文章主要介紹了node+multer實(shí)現(xiàn)圖片上傳的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
Node.js調(diào)用java之node-java問(wèn)題
這篇文章主要介紹了Node.js調(diào)用java之node-java問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
Nodejs進(jìn)階:核心模塊net入門(mén)學(xué)習(xí)與實(shí)例講解
本篇文章主要是介紹了Nodejs之NET模塊,net模塊是同樣是nodejs的核心模塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-11-11
node.js中的http.response.end方法使用說(shuō)明
這篇文章主要介紹了node.js中的http.response.end方法使用說(shuō)明,本文介紹了http.response.end的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12
Node.js API詳解之 module模塊用法實(shí)例分析
這篇文章主要介紹了Node.js API詳解之 module模塊用法,結(jié)合實(shí)例形式分析了Node.js API中module模塊基本功能、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-05-05
Node.js實(shí)現(xiàn)讀取Excel數(shù)據(jù)并插入MySQL
這篇文章主要為大家詳細(xì)介紹了Node.js如何實(shí)現(xiàn)讀取Excel數(shù)據(jù)并插入到MySQL數(shù)據(jù)庫(kù)中,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11

