Yarn的介紹、安裝與使用說明
介紹
Safe, stable, reproducible projects
yarn 是 facebook 開發併發布的一款包管理工具,關於他的介紹,可以前往yarn-a-new-package-manager-for-javascript facebook官網的介紹進行查看。
Yarn是一個包管理器,可以兼任項目管理。 無論你是一次性項目還是大型Monorepos
1,無論是業餘愛好者還是企業用戶,yarn都可以爲你服務。
Yarn是你的代碼的包管理器。 它讓你與世界各地的其他開發人員使用和分享代碼。 Yarn快速,安全且可靠地執行,因此你不必擔心。
Yarn允許你使用其他開發人員的解決方案來解決不同的問題,從而使你更輕鬆地開發你的軟件。 如果遇到問題,你可以報告問題或做出貢獻,當問題解決後,你可以使用Yarn保持項目爲最新版本。
代碼通過稱爲package
的東西共享。 一個package
包含所有共享的代碼以及描述該軟件包的package.json文件(稱爲清單)。
安裝
從 yarn 1 遷移
We’ve been compiling helpful advice when porting over from Yarn 1 on the following Migration Guide. Give it a look and contribute to it if you see things that aren’t covered yet! Make sure to consult the PnP Compatibility Table and enable the node-modules plugin if required!
全局安裝
不建議全局安裝Yarn 2.x,官方推薦採用按每個項目安裝的策略。官方建議通過操作指南安裝來保持 Yarn 1.x(經典)作爲全局二進制文件。
全局安裝 yarn的相關過程,請查閱 Yarn 1.x 全局安裝
按照說明進行操作,在命令行執行以下指令:
yarn --version
提示yarn的版本號,如 1.22.4
及安裝成功,可以進行以下操作。
項目安裝
-
跟隨全局安裝指南
-
切換到項目路徑
cd ~/path/to/project
-
執行以下指令
yarn policies set-version berry # below v1.22 yarn set version berry # on v1.22+
-
提交
.yarn
和.yarnrc.yml
更改。
從master重新安裝最新版本
-
跟項目安裝指南
-
執行以下指令(添加
--no-minify
,如果你想要一個未壓縮構建)yarn set version from sources
使用
Migrating from Yarn 1
We’ve been compiling helpful advice when porting over from Yarn 1 on the following Migration Guide. Give it a look and contribute to it if you see things that aren’t covered yet! Make sure to consult the PnP Compatibility Table and enable the node-modules plugin if required!
以下爲你需要了解的yarn的最常用使用。
查看指令列表
yarn help
開始一個新的項目
yarn init
安裝所有依賴
yarn
yarn install
添加一個依賴
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
將依賴項添加到不同分類的依賴項中
yarn add [package] --dev # dev dependencies
yarn add [package] --peer # peer dependencies
升級依賴
yarn up [package]
yarn up [package]@[version]
yarn up [package]@[tag]
移除依賴
yarn remove [package]
升級yarn
yarn set version latest
yarn set version from sources
切換鏡像源
這在國內很常見,國外服務器連接一般容易超時或速度慢。國內阿里雲提供了npm鏡像源
,可以去官方介紹查看。yarn 也可以使用。
yarn config set registry https://registry.npm.taobao.org -g
Monorepo 是管理項目代碼的一個方式,指在一個項目倉庫 (repo) 中管理多個模塊/包 (package),不同於常見的每個模塊建一個 repo。 ↩︎