[TOC] #### 1. yarn 的介紹 --- Yarn 官網(wǎng): <https://yarnpkg.com> Yarn 中文網(wǎng): <https://www.yarnpkg.cn> facebook 在 npm 之后又造了一個(gè)軟件包管理器輪子 yarn,yarn 是為了彌補(bǔ) npm 的一些缺陷而出現(xiàn)的 #### 2. yarn 的安裝 --- 安裝 yarn ```bash # 使用 npm 安裝 yarn npm install yarn -g # mac 用戶使用 homebrew 安裝 yarn brew install yarn ``` 更新 yarn 版本 ``` yarn self-update ``` 查看 yarn 版本 ``` yarn -v ``` #### 3. yarn 的使用 --- 初始化項(xiàng)目 ``` # 有交互界面 yarn init # 直接生成 package.json,沒(méi)有交互界面,--yes 也可簡(jiǎn)寫為 -y yarn init --yes ``` ``` # 安裝項(xiàng)目依賴 yarn install # 安裝依賴 yarn add <package> yarn add <package> --dev # 更新依賴 yarn upgrade <package> # 移除依賴 yarn remove <package> ``` #### 4. yarn 的緩存 --- ``` # 查看本地緩存 yarn cache list # 查看本地緩存存放目錄 yarn cache dir # 清除本地緩存 yarn cache clean ``` #### 5. yarn 的配置 --- ``` # 查看配置 yarn config list ``` 配置鏡像 ``` yarn config set registry https://registry.npm.taobao.org --global ``` #### 6. yarn info 查看依賴包 --- 查看依賴包信息 ``` yarn info <package> ``` #### 7. yarn 運(yùn)行腳本命令 --- 眾所周知,npm 運(yùn)行腳本命令如下所示: ``` npm run <command> ``` 而 yarn 只需要 ``` yarn <command> ``` #### 8. yarn 和 npm 的區(qū)別 --- **yarn 的速度更快:** 并行安裝: npm 是按照隊(duì)列執(zhí)行每一個(gè)包,也就是必須等到前面的包安裝完后才能繼續(xù)后面的安裝;而 yarn 是并行安裝,并行執(zhí)行所有任務(wù),提高了性能 離線模式: 如果以前已經(jīng)安裝過(guò)一個(gè)包,再次安裝 yarn 會(huì)從緩存中讀取。而 npm5 以前沒(méi)有緩存,當(dāng)執(zhí)行安裝時(shí),則從網(wǎng)絡(luò)下載,直到 npm5 開(kāi)始才有緩存 **安裝版本統(tǒng)一:** 為了防止不同時(shí)間安裝依賴時(shí)拉取到不同的版本,yarn 有一個(gè)版本鎖定文件 `yarn.lock`,記錄了安裝的依賴包的具體版本號(hào)。npm 也有版本實(shí)現(xiàn)統(tǒng)一版本號(hào),但是需要執(zhí)行 `npm shrinkwrap` **更簡(jiǎn)潔的輸出:** npm 安裝依賴時(shí)命令行會(huì)不斷地打印出所有被安裝上的依賴啊,相比之下,yarn 簡(jiǎn)潔很多,默認(rèn)只打印出必要的信息 **更好的語(yǔ)義化:** yarn 改變了一些 npm 的命令名稱 ``` # 安裝依賴 npm install webpack yarn add webpack # 安裝依賴 npm uninstall webpack yarn remove webpack ```