yarn解決了npm的一些小問(wèn)題,如依賴(lài)版本鎖定等,并行安裝速度更快
安裝
npm install -g yarn
常用CLI命令
Yarn提供了豐富的命令使你可以對(duì)Yarn包進(jìn)行許多操作,包括安裝、管理、發(fā)布等。
所有可用的命令都按照字母先后順序列在此處,其中最常用的有:
-
yarn add:為當(dāng)前正在開(kāi)發(fā)的包新增一個(gè)依賴(lài)包; -
yarn init:初始化包; -
yarn install:安裝package.json文件里定義的所有依賴(lài)包; -
yarn publish:發(fā)布一個(gè)包到包管理器; -
yarn remove:從當(dāng)前包里移除一個(gè)未使用的包。
與npm 命令比較
| npm | Yarn |
|---|---|
npm install |
yarn install |
| (N/A) | yarn install --flat |
| (N/A) | yarn install --har |
| (N/A) | yarn install --no-lockfile |
| (N/A) | yarn install --pure-lockfile |
npm install [package] |
(N/A) |
npm install --save [package] |
yarn add [package] |
npm install --save-dev [package] |
yarn add [package] [--dev/-D] |
| (N/A) | yarn add [package] [--peer/-P] |
npm install --save-optional [package] |
yarn add [package] [--optional/-O] |
npm install --save-exact [package] |
yarn add [package] [--exact/-E] |
| (N/A) | yarn add [package] [--tilde/-T] |
npm install --global [package] |
yarn global add [package] |
npm rebuild |
yarn install --force |
npm uninstall [package] |
(N/A) |
npm uninstall --save [package] |
yarn remove [package] |
npm uninstall --save-dev [package] |
yarn remove [package] |
npm uninstall --save-optional [package] |
yarn remove [package] |
npm cache clean |
yarn cache clean |
rm -rf node_modules && npm install |
yarn upgrade |
默認(rèn)命令
執(zhí)行不帶任何命令的yarn,等同于執(zhí)行yarn install,并透?jìng)魉袇?shù)。
用戶(hù)自定義腳本
執(zhí)行yarn <script> [<args>]將會(huì)執(zhí)行用戶(hù)自定義腳本。參閱yarn run。
本地安裝的 CLI{#locally-installed-clis.toc}
執(zhí)行yarn <command> [<args>] 將會(huì)執(zhí)行當(dāng)前包內(nèi)安裝過(guò)的(Local,而非Global)對(duì)應(yīng)名稱(chēng)的命令,這樣就可以不必為了一些簡(jiǎn)單的場(chǎng)景而專(zhuān)門(mén)去配置自定義腳本。
并發(fā)和 --mutex
當(dāng)在同一個(gè)服務(wù)器上同時(shí)運(yùn)行多個(gè) yarn 實(shí)例時(shí),你可以通過(guò)傳遞全局標(biāo)志 --mutex 并跟一個(gè) file或 network 參數(shù),確保任意給定時(shí)間只有一個(gè)實(shí)例運(yùn)行(并且避免沖突)。
當(dāng)使用 file 時(shí) Yarn 默認(rèn)會(huì)寫(xiě)/讀當(dāng)前工作目錄里一個(gè)互斥鎖文件 .yarn-single-instance。你也可以指定一個(gè)備用或全局的文件名。
--mutex file
--mutex file:/tmp/.yarn-mutex
當(dāng)使用 network 時(shí),Yarn 默認(rèn)會(huì)在 31997 端口創(chuàng)建一個(gè)服務(wù)器,你也可以指定一個(gè)備用端口。
--mutex network
--mutex network:30330