在進行正文之前,首先提供Yarn的三大網址,祝你練成Yarn功大法:Yarn官網、中文官網、Yarn Github地址
在安裝Yarn之前,我們要確保已經成功安裝了Node.js,關於Node.js的安裝,可參考:Node.js的安裝
Yarn的特點
Yarn的中文官網是這樣介紹的:
-
速度超快:
Yarn 緩存了每個下載過的包,所以再次使用時無需重複下載。 同時利用並行下載
以最大化資源利用率,因此安裝速度更快。 -
超級安全:
在執行代碼之前
,Yarn 會通過算法校驗
每個安裝包的完整性
。 -
超級可靠:
使用詳細、簡潔的鎖文件格式
和明確的安裝算法
,Yarn 能夠保證在不同系統上無差異的工作 -
離線模式:
如果以前安裝過
某個包,再次安裝時可以在沒有任何互聯網連接
的情況下進行。 -
確定性:
不管
安裝順序如何,相同
的依賴關係將在每臺機器上以相同
的方式安裝。 -
網絡性能:
Yarn 有效地對請求進行排隊處理
,避免發起的請求如瀑布般傾瀉,以便最大限度地利用網絡資源。 -
相同的軟件包:
從 npm 安裝軟件包並保持相同
的包管理流程。 -
網絡彈性:
重試機制
確保單個請求失敗並不會導致整個安裝失敗。 -
扁平模式:
將依賴包的不同版本歸結
爲單個版本,以避免
創建多個副本。
看了以上這些特點,是不是感覺空氣中充滿着濃濃的香味,一股優雅的氣息撲鼻而來。
Yarn的安裝
安裝方式1:
下載node.js,使用npm安裝
npm i -g yarn // 安裝命令
yarn --version // 查看版本
成功後如下所示:
安裝方式2:
下載yarn的安裝程序:
此下載地址中提供一個.msi
文件,可根據自己的操作系統以及選擇需要的版本號進行安裝
安裝方式3:
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與npm區別
Yarn | npm | 說明 |
---|---|---|
npm init | yarn init | 初始化 |
npm install | yarn install | 安裝依賴 |
npm install [package] --save | yarn add [package] | 安裝某個包 |
npm uninstall [package] --save | yarn remove [package] | 移除包 |
npm install [package] --save-dev | yarn add [package] -dev | 安裝開發包 |
npm update [package] --save | yarn upgrade [package] | 更新包 |
npm inatall [package] --global | yarn blobal add [package] | 安裝全局包 |
npm publish/login/logout | yarn publish/login/logout | 發佈/登錄/退出(NPM Registry操作) |
npm run/test | yarn run/test | 運行某個命令 |
npm cache clean | yarn cache clean | 清除緩存 |
npm rebuild | yarn install --force | 重構包 |
rm -rf node_modules && npm install | yarn upgrade | 刪掉node_modules重新安裝 |
不適用 | yarn install --flat | 安裝一個包的單一版本 |
不適用 | yarn install --har | 安裝一個包的單一版本 |
不適用 | yarn install --pure-lockfile | 不生成yarn.lock |
不適用 | yarn add [package] --peer | 加到 peerDependencies |
不適用 | yarn add [package] --tilde | 安裝包的次要版本里的最新版 |
Yarn的常用命令
- 安裝yarn
npm i -g yarn
- 安裝成功之後,查看版本號:
yarn --version
- 創建文件夾
md [文件夾名]
- 進入文件夾
cd [文件夾名]
- 初始化一個新項目
yarn init // 類似npm init,執行輸入信息後,會生成package.json文件
- 安裝項目的全部依賴
yarn
或者
yarn install
- 配置:
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):
- 添加依賴包
// 在當前的項目中添加一個依賴包,會自動更新到package.json和yarn.lock文件中
yarn add [package]
// 安裝指定版本,這裏指的是主要版本,如果需要精確到小版本,使用-E參數
yarn add [package]@[version]
// 安裝某個tag(比如beta,next或者latest)
yarn add [package]@[tag]
- 將依賴項添加到不同依賴項類別中(分別添加到 devDependencies、peerDependencies 和 optionalDependencies 類別中:)
// 加到 devDependencies
yarn add --dev/-D
// 加到 peerDependencies
yarn add --peer/-P
// 加到 optionalDependencies
yarn add --optional/-O
//默認安裝包的主要版本里的最新版本,以下兩個命令可以指定版本:
yarn add --exact/-E // 安裝包的精確版本。例:yarn add [email protected]會接受1.9.1版,但是yarn add [email protected] --exact只會接受1.2.3版
yarn add --tilde/-T // 安裝包的次要版本里的最新版。例如yarn add [email protected] --tilde會接受1.2.9,但不接受1.3.0
- 發佈包
yarn publish
- 移除一個包
yarn remove <packageName> // 移除一個包,會自動更新package.json和yarn.lock
- 升級依賴包
//用於更新包到基於規範範圍的最新版本
yarn upgrade [package]
// 升級到指定版本,這裏指的是主要版本,如果需要精確到小版本,使用-E參數
yarn upgrade [package]@[version]
// 升級到某個tag
yarn upgrade [package]@[tag]
- 運行腳本
yarn run // 用來執行在 package.json 中 scripts 屬性下定義的腳本
- 顯示某個包的信息
yarn info <packageName> //用來查看某個模塊的最新版本信息
- 緩存
yarn cache
yarn cache list //列出已緩存的每個包
yarn cache dir //返回 全局緩存位置
yarn cache clean //清除緩存
- 列出項目的所有依賴
yarn list //列出當前項目的依賴
yarn list --depth=0 //限制依賴的深度
sudo yarn global list //列出全局安裝的模塊
【擴展】
Yarn發佈於2016年10月,截止目前Yarn Github上迅速擁有了3.8萬個Star。而npm GitHub截止目前只有1.7萬個Star。