Yarn通過并行安裝、離線模式、確定性安裝以及更好的依賴解析算法,為開發者提供了更快、更穩定、更安全的包管理體驗。它保留了npm的大部分功能,并在此基礎上做了大量優化,下面我們就來詳述Yarn的核心命令和實用技巧。📚
安裝Yarn
首先,確保你的系統已經安裝了Node.js。之后,可以通過多種方式安裝Yarn
-
1$ npm install -g yarn
-
1brew install yarn
安裝完成后,檢查Yarn的版本以確認安裝成功:
1$ yarn --version
基礎命令
初始化項目
與npm的npm init
類似,Yarn使用yarn init
來創建package.json
文件。同樣,你可以使用-y
跳過交互式問答直接生成默認配置:
1$ yarn init [-y]
安裝包
Yarn使用yarn add
命令安裝包,它會自動添加到dependencies
或devDependencies
中,取決于是否使用了--dev
標志。
1$ yarn add [package-name] [--dev]
例如,安裝React及其對應的TypeScript類型定義:
1$ yarn add react react-dom @types/react @types/react-dom
更新包
使用yarn upgrade
命令來更新包,可以指定包名和版本號,或者不指定包名來更新所有包:
1$ yarn upgrade [package-name@version]
2$ yarn upgrade
移除包
yarn remove
命令用于從項目中移除包,并從package.json
和node_modules
中刪除其相關文件:
1$ yarn remove [package-name]
高級用法
鎖定文件
Yarn通過yarn.lock
文件確保每次安裝得到完全相同的依賴樹,保證了安裝過程的確定性。這個文件應該被提交到版本控制系統中,以確保團隊成員間的一致性。每當你添加或更新依賴時,Yarn會自動更新這個文件。
并行安裝
Yarn利用并行處理能力,顯著加快了依賴的安裝速度。這是它相比npm的一個主要優勢,尤其是在大型項目中。
離線模式
Yarn具備離線安裝的能力,它會在本地緩存已下載的包,下次安裝時直接從緩存中讀取,提高了安裝速度并降低了網絡依賴。
工作空間管理
對于包含多個子項目的大型應用或 mono-repo(單一倉庫),Yarn的工作空間(Workspaces)特性特別有用。它允許你在父級項目中管理所有子項目的依賴,簡化了版本控制和依賴更新流程。
腳本執行
與npm一樣,Yarn也支持在package.json
中定義腳本,并通過yarn run
執行。這使得自動化構建、測試、部署等任務變得簡單直觀:
Json
1"scripts": {
2 "start": "react-scripts start",
3 "build": "react-scripts build",
4 "test": "react-scripts test",
5 "eject": "react-scripts eject"
6}
執行腳本:
Bash
1$ yarn run start
其他實用命令
- 列出包:?
yarn list
?顯示項目中所有直接和間接依賴。 - 清潔:?
yarn clean
?刪除node_modules
目錄和yarn.lock
文件,幫助你從頭開始。 - 檢視:?
yarn why [package-name]
?查看為什么某個包會被安裝,有助于診斷依賴問題。 - 版本查詢:?
yarn outdated
?顯示所有可更新的包及其最新版本。 - 緩存管理:?
yarn cache clean
?清理Yarn的緩存。