目錄
正文
包的管理
# 創(chuàng)建
yarn init
# 安裝
## yarn install
## yarn add <package...>
## 全局安裝
yarn global add <package...>
## 局部安裝
yarn add <package...>
## 開發(fā)依賴
## yarn add <package...> [--dev/-D]
## 可選依賴
## yarn add <package...> [--optional/-O]
## yarn add <package...> [--peer/-P]
## 專一依賴
## yarn add <package...> [--exact/-E]
## 最新小改
## yarn add <package...> [--tilde/-T]
## 別名依賴
## yarn add <alias-package>@npm:<package>
# 刪除
## yarn remove <package> --<flag>
# 發(fā)布
## 登陸
yarn login
//添加賬戶
//第一次發(fā)布npm adduser
## 發(fā)布
yarn publish
## 某壓縮件
## yarn publish [tarball]
## 某一目錄
## yarn publish [folder]
## 帶新版本
yarn publish --new-version <version>
## 帶有標(biāo)簽
## yarn publish --tag <tag>
## 訪問控制
## yarn publish --access <public|restricted>
//撤銷
npm unpublish 包名
## 注銷
## yarn logout
# 更新
//1.修改包的版本(package.json里的version字段)
//2.yarn publish
> 一套版本控制標(biāo)準(zhǔn)
|類目|描述|
|----|----|
|補(bǔ)丁|修復(fù)bug,小改動蚯姆,增加z|
|小改|增加了新特性肺缕,但能向后兼容,增加y|
|大改|有很大的改動骂铁,無法向后兼容府蔗,增加x|
> 一批改變版本指令
|類目|描述|
|----|----|
|大改|`yarn version --major`|
|小改|`yarn version --minor`|
|補(bǔ)丁|`yarn version --patch`|
#列出
## 查看遠(yuǎn)程某包信息
## yarn info <package> [<field>]
yarn info react
## 列出當(dāng)前項(xiàng)目的依賴
## yarn list [--depth] [--pattern]
yarn list
## 列出某包安裝的原因
yarn why <query>
## 列出某包所屬的人員
yarn owner list <package>
## 查看哪些依賴過時了
##yarn outdated
##yarn outdated [package...]
## 列出依賴的頒發(fā)執(zhí)照
## yarn licenses list
yarn list --depth=0 # 限制依賴的深度
yarn global list # 列出全局安裝的模塊
配置管理
# 設(shè)置
yarn config set key value
# 讀取
yarn config get key
# 刪除
yarn config delete key
# 列出
yarn config list
#全局
# yarn config set <key> <value> --global
# or
#yarn config set <key> <value> -g
緩存管理
# 列出
## yarn cache list [--pattern]
## 查看緩存目錄
yarn cache dir
## 列出緩存配置
yarn cache list
# 清除
yarn cache clean
# 設(shè)置
# 設(shè)置緩存目錄
# yarn config set cache-folder <path>
標(biāo)簽管理
# 創(chuàng)建
# yarn tag add <package>@<version> <tag>
## 最新
## 穩(wěn)定
# 列出
# yarn tag list [<package>]
# 刪除
# yarn tag remove <package> <tag>
團(tuán)隊管理
# 創(chuàng)建
# yarn team create <scope:team>
# 列出
# yarn team list <scope>|<scope:team>
# 刪除
# yarn team destroy <scope:team>
# 添加成員
# yarn team add <scope:team> <user>
# 刪除成員
# yarn team remove <scope:team> <user>
命令管理
# 創(chuàng)建
## 開發(fā)
## 測試
## package.json
## "scripts": {
## "test": "scripts/test"
## }
## 構(gòu)建
# 運(yùn)行
## yarn run [script] [<args>]
## 測試
yarn run test
## 開發(fā)
## 構(gòu)建
# 移除
# 打包
## 打包依賴
yarn pack
## 指定名字
yarn pack --filename <filename>
軟鏈管理
# 創(chuàng)建
## steps-01: create a symLink from package react
cd react
yarn link
## steps-02: conect a symLink
cd ../react-relay
yarn link react
# 刪除
## steps-01:disconect a symLink
cd ../react-relay
yarn unlink
## steps-02: remove a symLink
yarn unlink react
版本管理
此處的版本管理指的是通過命令的方式更新package.json中的version字段洲拇。
{
"name": "example-yarn-package",
"version": "1.0.1",
"description": "An example package to demonstrate Yarn"
}
# 創(chuàng)建
yarn version
## 指定版本
yarn version --new-version <version>
## 沒有關(guān)聯(lián)
yarn version --no-git-tag-version
# 更新
## 大改
yarn version --major
## 小改
yarn version --minor
## 補(bǔ)丁
yarn version --patch
#開啟管理git 標(biāo)簽
yarn config set version-git-tag true
# 設(shè)置git 標(biāo)簽前綴
yarn config set version-tag-prefix "v"
# 改變注釋
yarn config set version-git-message "v%s"
#關(guān)閉管理git 標(biāo)簽
yarn config set version-git-tag false
應(yīng)用環(huán)境
# 查看
yarn versions
{ http_parser: '2.7.0',
node: '8.9.4',
v8: '6.1.534.50',
uv: '1.15.0',
zlib: '1.2.11',
ares: '1.10.1-DEV',
modules: '57',
nghttp2: '1.25.0',
openssl: '1.0.2n',
icu: '59.1',
unicode: '9.0',
cldr: '31.0.1',
tz: '2017b' }
管工作區(qū)
# 列工作區(qū)
yarn workspaces info
# 添加依賴
# yarn workspace <workspace_name> <command>
yarn workspace awesome-package add react react-dom --dev
# 移除依賴
# yarn workspace <workspace_name> <command>
yarn workspace awesome-package remove react-dom --save
屬主管理
## 查看
## yarn owner list <package>
yarn owner list yarn
yarn owner list npm
yarn owner list node
yarn owner list express
## 修改
### 添加用戶
yarn owner add <user> <package>
### 移除用戶
yarn owner remove <user> <package>
淘寶鏡像
yarn config set registry https://registry.npm.taobao.org
//還原鏡像yarn config set registry http://registry.npmjs.org
配置文件
https://yarnpkg.com/en/docs/package-json
https://yarnpkg.com/en/docs/yarnrc
https://yarnpkg.com/en/docs/yarn-lock
遇到問題
問題:使用git bash輸入yarn init 出現(xiàn)"Can't answer a question unless a user TTY"
解決:https://github.com/yarnpkg/yarn/issues/1036