Yarn的簡介:
Yarn是facebook釋出的一款取代npm的包管理工具。
yarn的特點:
- 速度快—Yarn 快取了每個下載過的包,所以再次使用時無需重複下載。 同時利用並行下載以最大化資源利用率,因此安裝速度更快。
- 安全—在執行程式碼之前,Yarn 會通過演算法校驗每個安裝包的完整性。
- 可靠—使用詳細、簡潔的鎖檔案格式和明確的安裝演算法,Yarn 能夠保證在不同系統上無差異的工作。
yarn的安裝:
- 下載node.js,使用npm安裝
npm install -g yarn
檢視版本:yarn --version
複製程式碼
- 安裝node.js,下載yarn的安裝程式:
提供一個.msi檔案,在執行時將引導您在Windows上安裝Yarn
- Yarn 淘寶源安裝,分別複製貼上以下程式碼行到黑視窗執行即可
yarn config set registry https://registry.npm.taobao.org -g
yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g
複製程式碼
yarn的常用命令:
- 安裝yarn
npm install -g yarn
複製程式碼
- 安裝成功後,檢視版本號:
yarn --version
複製程式碼
- 建立資料夾 yarn
md yarn
複製程式碼
- 進入yarn資料夾
cd yarn
複製程式碼
- 初始化專案
yarn init // 同npm init,執行輸入資訊後,會生成package.json檔案
複製程式碼
- yarn的配置項:
yarn config list // 顯示所有配置項
yarn config get <key> //顯示某配置項
yarn config delete <key> //刪除某配置項
yarn config set <key> <value> [-g|--global] //設定配置項
複製程式碼
- 安裝包:
yarn install //安裝package.json裡所有包,並將包及它的所有依賴項儲存進yarn.lock
yarn install --flat //安裝一個包的單一版本
yarn install --force //強制重新下載所有包
yarn install --production //只安裝dependencies裡的包
yarn install --no-lockfile //不讀取或生成yarn.lock
yarn install --pure-lockfile //不生成yarn.lock
複製程式碼
- 新增包(會更新package.json和yarn.lock):
yarn add [package] // 在當前的專案中新增一個依賴包,會自動更新到package.json和yarn.lock檔案中
yarn add [package]@[version] // 安裝指定版本,這裡指的是主要版本,如果需要精確到小版本,使用-E引數
yarn add [package]@[tag] // 安裝某個tag(比如beta,next或者latest)
//不指定依賴型別預設安裝到dependencies裡,你也可以指定依賴型別:
yarn add --dev/-D // 加到 devDependencies
yarn add --peer/-P // 加到 peerDependencies
yarn add --optional/-O // 加到 optionalDependencies
//預設安裝包的主要版本里的最新版本,下面兩個命令可以指定版本:
yarn add --exact/-E // 安裝包的精確版本。例如yarn add foo@1.2.3會接受1.9.1版,但是yarn add foo@1.2.3 --exact只會接受1.2.3版
yarn add --tilde/-T // 安裝包的次要版本里的最新版。例如yarn add foo@1.2.3 --tilde會接受1.2.9,但不接受1.3.0
複製程式碼
- 釋出包
yarn publish
複製程式碼
- 移除一個包
yarn remove <packageName>:移除一個包,會自動更新package.json和yarn.lock
複製程式碼
- 更新一個依賴
yarn upgrade 用於更新包到基於規範範圍的最新版本
複製程式碼
- 執行指令碼
yarn run 用來執行在 package.json 中 scripts 屬性下定義的指令碼
複製程式碼
- 顯示某個包的資訊
yarn info <packageName> 可以用來檢視某個模組的最新版本資訊
複製程式碼
- 快取
yarn cache
yarn cache list # 列出已快取的每個包
yarn cache dir # 返回 全域性快取位置
yarn cache clean # 清除快取
複製程式碼
npm 與 yarn命令比較:
npm 與 yarn相關問題比較:
npm模組的依賴:
- npm存在一些歷史遺留問題,請看下圖: