Yarn
是 facebook
釋出的一款取代 npm
的包管理工具
Yarn
快取了每個下載過的包,所以再次使用時無需重複下載。 同時利用並行下載以最大化資源利用率,因此安裝速度更快Yarn
會通過演演算法校驗每個安裝包的完整性Yarn
能夠保證在不同系統上無差異的工作2-1 全域性安裝
通過 npm install -g
全域性去安裝 yarn
包管理工具,預設安裝的版本是 yarn 1
版本
# 全域性安裝 npm install -g yarn # 檢視yran安裝版本 yarn --version # 顯示命令列表 yarn help
2-2 專案安裝
在專案中需要使用 yarn 2
,可以在專案更目錄安裝333
「Berry」 是 Yarn 2 釋出序列的代號,同時也是我們的 程式碼倉庫 的名稱!
yarn set version berry
2-3 yarn更新
將 yarn
更新到最新版本,yarn
會從我們的網站下載最新的二進位制檔案,並將其安裝在您的專案中
將專案中的包管理工具升級為
Yarn 2
,此後如果需要對此Yarn 2
進行升級,則可以使用yarn set version latest
進行升級,否則仍是對Yarn 1
進行操作
yarn set version latest
2-4 安裝maste分支最新版
嘗試最新的 master
程式碼分支
yarn set version from sources
可以使用 --branch
引數來指定要安裝特定的分支節點
yarn set version from sources --branch 1211
3-1 安裝淘寶映象
修改國內映象後可以加快軟體包安裝速度
檢視當前使用的映象
yarn config get registry
新增 yarn
的淘寶映象
yarn config set registry https://registry.npm.taobao.org -g # 恢復預設 yarn config set registry http://registry.npmjs.org/ # 安裝sass yarn config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
3-2 yrm映象管理
yrm
是管理映象的工具,可以列出可以使用的映象,非常方便
安裝 yrm
npm install -g yrm
列出可以使用的映象
yrm ls
使用淘寶映象
yrm use taobao
測試映象速度
yrm test taobao
4-1 初始化專案
yarn init
用來初始化生成一個新的 package.json
檔案
D:\My Study\08-Node.js\02-yarn>yarn init yarn init v1.22.19 question name (02-yarn): yarn-init question version (1.0.0): question description: 初始化設定 question entry point (index.js): question repository url: question author (jsx <[email protected]> (https://github.com/xiaofeilalala)): question license (MIT): question private: success Saved package.json Done in 29.32s.
{ "name": "yarn-init", "version": "1.0.0", "description": "初始化設定", "main": "index.js", "author": "jsx <[email protected]> (https://github.com/xiaofeilalala)", "license": "MIT" }
4-2 設定設定項
通過 yarn config
去設定顯示刪除設定項
yarn config list // 顯示所有設定項 yarn config get <key> //顯示某設定項 yarn config delete <key> //刪除某設定項 yarn config set <key> <value> [-g|--global] //設定設定項
4-3 安裝依賴
安裝所有依賴
yarn install
強制重新下載所有包
yarn install --force
新增依賴項,會自動更新到 package.json
和 yarn.lock
檔案中
# 安裝最新版本 yarn add [packageName] # 安裝指定版本 yarn add [packageName]@<version> # 安裝指定tag版本 beta,next或者latest yarn add [packageName]@<tag>
安裝包的精確版本,例如: yarn add [email protected]
會接受 1.9.1
版本,但是 yarn add [email protected] --exact
只能安裝指定 1.2.3
版本
yarn add [packageName]@<version> --exact yarn add [packageName]@<version> -E
安裝包的次要版本里的最新版,例如:yarn add [email protected] --title
會接受 1.2.9
,但不接受 1.3.0
yarn add [packageName]@<version> --title yarn add [packageName]@<version> -T
4-4 不同依賴類
在一個 Node.js
專案中,package.json
幾乎是一個必須的檔案,它的主要作用就是管理專案中所使用到的外部依賴包,同時它也是 npm
命令的入口檔案
npm
目前支援以下幾類依賴包管理:
dependencies
devDependencies
peerDependencies
optionalDependencies
bundledDependencies
/ bundleDependencies
dependencies
應用依賴,或者叫做業務依賴,這是我們最常用的依賴包管理物件!它用於指定應用依賴的外部包,這些依賴是應用釋出後正常執行時所需要的,但不包含測試時或者本地打包時所使用的包。
devDependencies
開發環境依賴,僅次於 dependencies
的使用頻率!它的物件定義和 dependencies
一樣,只不過它裡面的包只用於開發環境,不用於生產環境,這些包通常是單元測試或者打包工具等,例如gulp
, grunt
, webpack
, moca
, coffee
等
peerDependencies
同等依賴,或者叫同伴依賴,用於指定當前包(也就是你寫的包)相容的宿主版本。如何理解呢? 試想一下,我們編寫一個 gulp
的外掛,而 gulp
卻有多個主版本,我們只想相容最新的版本,此時就可以用同等依賴(peerDependencies
)來指定
optionalDependencies
可選依賴,如果有一些依賴包即使安裝失敗,專案仍然能夠執行或者希望npm繼續執行,就可以使用 optionalDependencies
。另外optionalDependencies
會覆蓋 dependencies
中的同名依賴包,所以不要在兩個地方都寫
bundledDependencies
/ bundleDependencies
打包依賴,bundledDependencies
是一個包含依賴包名的陣列物件,在釋出時會將這個物件中的包打包到最終的釋出包裡
不指定依賴型別預設安裝到 dependencies
裡,你也可以指定依賴型別
# 新增到 devDependencies 依賴項 yarn add [package]@[version] --dev yarn add [package]@[version] -D # 新增到 peerDependencies 依賴項 yarn add [package]@[version] --peer yarn add [package]@[version] -P # 新增到 optionalDependencies 依賴項 yarn add [package]@[version] --optional yarn add [package]@[version] -O
4-5 升級依賴
根據需要將安裝好的依賴包進行升級
# 更新所有軟體包 yarn up # 升級到最新版本 yarn up [packageName] # 升級到指定版本 yarn up [packageName]@[version] # 升級到指定tag版本 yarn up [packageName]@[tag]
4-6 刪除依賴
從專案中刪除依賴項 dependencies
,會自動更新 package.json
和 yarn.lock
yarn remove [packageName]
刪除 yarn
全域性軟體包
yarn remove -g [packageName]
4-7 釋出模組
yarn publish
用於將當前模組釋出到 http://npmjs.com
如果已經註冊過,就使用下面的命令登入
yarn login
退出登入 npm
倉庫
yarn logout
登入以後,就可以使用 npm publish
命令釋出
yarn publish
復原釋出的模組 npm unpublish
# 刪除某個版本 yarn unpublish [packageName]@<version> # 刪除整個npm市場的包 yarn unpublish [packageName] --force
4-8 執行命令
yarn run
用來執行在 package.json
中 scripts
屬性下定義的指令碼
// package.json { "scripts": { "dev": "node app.js", "start": "node app.js" } }
yarn
與 npm
一樣 可以有 yarn start
和 yarn test
兩個簡寫的執行指令碼方式
# yarn 執行 dev 對應的指令碼 node app.js yarn run dev npm run yarn start # yarn npm start # npm
4-9 快取控制
列出已快取的每個包
yarn cache list
全域性快取位置
yarn cache dir
清除快取
yarn cache clean
4-10 模組資訊
yarn info
可以用來檢視某個模組的最新版本資訊
yarn info [packageName] # yarn npm info [packageName] # npm yarn info [packageName] --json # 輸出 json 格式 npm info [packageName] --json # npm yarn info [packageName] readme # 輸出 README 部分 npm info [packageName] readme
更多程式設計相關知識,請存取:!!
以上就是一文淺析JS包管理工具:yarn的詳細內容,更多請關注TW511.COM其它相關文章!