官網:https://yarnpkg.com/zh-Hans/docs/installing-dependenciesnode
簡介:包管理工具,和npm相似
主要特色:快速、安全、可靠
快速:本地安裝包後,會進行緩存,下次再安裝時,直接從緩存中取,不須要再請求網絡
安全:經過相關機制,在安裝以前,會檢查包的完整性,保證包的完整性
可靠:經過維護yarn.lock文件,記錄包及依賴的確切版本信息,保證同一項目在不一樣操做系統上獲得的包的版本是一致的react
安裝:能夠直接經過npm安裝
npm install yarn -g
查看:
查看版本:yarn -v
查看命令:yarn -h
查看參數:yarn help COMMANDlinux
初始化一個工程及安裝包:
yarn init
隨後和npm同樣,須要回答一些相關信息,init以後,會生成一個package.json 文件
ls //查看
安裝(添加)包:和npm不同哦
yarn add webpack
安裝完成後,安裝提示信息更人性化,顏色、icon特別提示
此時項目下,會自動生成node_moduls目錄,及yarn.lock文件
更新包:和npm也不同呢
yarn upgrade webpack
測試離線安裝,好比安裝webpack的一個依賴tty-browserify,添加參數--offline
yarn add tty-browserify --offline
查看本地緩存的全部模塊:
yarn cache ls
移除包:
yarn remove webpack
安裝項目的所有依賴:
yarn 或 yarn install
版本控制(好比git):
必須包含package.josn 和 yarn.lock 文件,裏面包含包的信息webpack
其它命令:
cache相關(離線安裝包時比較有用):
yarn cache dir: 返回緩存包在本地的路徑
yarn cache clean: 清除本地緩存,執行後,再yarn cache ls將不會再有包信息
config相關:
yarn config list: 列出yarn、npm的相關信息
yarn config set: 設置yarn相關信息
好比:設置淘寶鏡像
yarn config set registry registry.npm.taobao.arg
yarn config list
info:
yarn info [package]: 能夠查看包的相關信息(包括已安裝、未安裝)
好比:yarn info react: 將會列出react的相關信息
global:
yarn global add webpack: 全局安裝,等同於npm的npm install -g webpack
不推崇全局,由於不會在package.json中記錄包信息,會致使不一樣系統信息不一致而出錯
why:
yarn why [package]: 能夠查看包爲何會安裝該依賴
好比:安裝了webpack,經過yarn cache ls查看緩存包,能夠找到uglify-js
yarn why uglify-js: 能夠看到爲何會安裝該包的分析
run:
yarn run [cli]: 能夠執行項目下package.json中設置的命令
好比:在項目的package.json中添加script屬性,編寫linux命令:
package.json git
{ "name": "yarn-project", "version": "1.0.0", "main": "index.js", "license": "MIT", "dependencies": { "tty-browserify": "^0.0.0", "webpack": "^2.5.1" }, "scripts": { "create-dir": "mkdir demo", "rm-dir": "rm -rf demo" } }
以後,在命令行中執行:
yarn run create-dir //會建立demo目錄
ls
yarn run rm-dir //會刪掉demo目錄web