包的管理

  1. # 创建
  2. yarn init
  3. # 安装
  4. ## yarn install
  5. ## yarn add <package...>
  6. ## 全局安装
  7. yarn global add <package...>
  8. ## 局部安装
  9. yarn add <package...>
  10. ## 开发依赖
  11. ## yarn add <package...> [--dev/-D]
  12. ## 可选依赖
  13. ## yarn add <package...> [--optional/-O]
  14. ## yarn add <package...> [--peer/-P]
  15. ## 专一依赖
  16. ## yarn add <package...> [--exact/-E]
  17. ## 最新小改
  18. ## yarn add <package...> [--tilde/-T]
  19. ## 别名依赖
  20. ## yarn add <alias-package>@npm:<package>
  21. # 删除
  22. ## yarn remove <package> --<flag>
  23. # 发布
  24. ## 登陆
  25. yarn login
  26. //添加账户
  27. //第一次发布npm adduser
  28. ## 发布
  29. yarn publish
  30. ## 某压缩件
  31. ## yarn publish [tarball]
  32. ## 某一目录
  33. ## yarn publish [folder]
  34. ## 带新版本
  35. yarn publish --new-version <version>
  36. ## 带有标签
  37. ## yarn publish --tag <tag>
  38. ## 访问控制
  39. ## yarn publish --access <public|restricted>
  40. //撤销
  41. npm unpublish 包名
  42. ## 注销
  43. ## yarn logout
  44. # 更新
  45. //1.修改包的版本(package.json里的version字段)
  46. //2.yarn publish
  47. > 一套版本控制标准
  48. |类目|描述|
  49. |----|----|
  50. |补丁|修复bug,小改动,增加z|
  51. |小改|增加了新特性,但能向后兼容,增加y|
  52. |大改|有很大的改动,无法向后兼容,增加x|
  53. > 一批改变版本指令
  54. |类目|描述|
  55. |----|----|
  56. |大改|`yarn version --major`|
  57. |小改|`yarn version --minor`|
  58. |补丁|`yarn version --patch`|
  59. #列出
  60. ## 查看远程某包信息
  61. ## yarn info <package> [<field>]
  62. yarn info react
  63. ## 列出当前项目的依赖
  64. ## yarn list [--depth] [--pattern]
  65. yarn list
  66. ## 列出某包安装的原因
  67. yarn why <query>
  68. ## 列出某包所属的人员
  69. yarn owner list <package>
  70. ## 查看哪些依赖过时了
  71. ##yarn outdated
  72. ##yarn outdated [package...]
  73. ## 列出依赖的颁发执照
  74. ## yarn licenses list
  75. yarn list --depth=0 # 限制依赖的深度
  76. yarn global list # 列出全局安装的模块

配置管理

  1. # 设置
  2. yarn config set key value
  3. # 读取
  4. yarn config get key
  5. # 删除
  6. yarn config delete key
  7. # 列出
  8. yarn config list
  9. #全局
  10. # yarn config set <key> <value> --global
  11. # or
  12. #yarn config set <key> <value> -g

缓存管理

  1. # 列出
  2. ## yarn cache list [--pattern]
  3. ## 查看缓存目录
  4. yarn cache dir
  5. ## 列出缓存配置
  6. yarn cache list
  7. # 清除
  8. yarn cache clean
  9. # 设置
  10. # 设置缓存目录
  11. # yarn config set cache-folder <path>

标签管理

  1. # 创建
  2. # yarn tag add <package>@<version> <tag>
  3. ## 最新
  4. ## 稳定
  5. # 列出
  6. # yarn tag list [<package>]
  7. # 删除
  8. # yarn tag remove <package> <tag>

团队管理

  1. # 创建
  2. # yarn team create <scope:team>
  3. # 列出
  4. # yarn team list <scope>|<scope:team>
  5. # 删除
  6. # yarn team destroy <scope:team>
  7. # 添加成员
  8. # yarn team add <scope:team> <user>
  9. # 删除成员
  10. # yarn team remove <scope:team> <user>

命令管理

  1. # 创建
  2. ## 开发
  3. ## 测试
  4. ## package.json
  5. ## "scripts": {
  6. ## "test": "scripts/test"
  7. ## }
  8. ## 构建
  9. # 运行
  10. ## yarn run [script] [<args>]
  11. ## 测试
  12. yarn run test
  13. ## 开发
  14. ## 构建
  15. # 移除
  16. # 打包
  17. ## 打包依赖
  18. yarn pack
  19. ## 指定名字
  20. yarn pack --filename <filename>

软链管理

  1. # 创建
  2. ## steps-01: create a symLink from package react
  3. cd react
  4. yarn link
  5. ## steps-02: conect a symLink
  6. cd ../react-relay
  7. yarn link react
  8. # 删除
  9. ## steps-01:disconect a symLink
  10. cd ../react-relay
  11. yarn unlink
  12. ## steps-02: remove a symLink
  13. yarn unlink react

版本管理

此处的版本管理指的是通过命令的方式更新package.json中的version字段。

  1. {
  2. "name": "example-yarn-package",
  3. "version": "1.0.1",
  4. "description": "An example package to demonstrate Yarn"
  5. }
  1. # 创建
  2. yarn version
  3. ## 指定版本
  4. yarn version --new-version <version>
  5. ## 没有关联
  6. yarn version --no-git-tag-version
  7. # 更新
  8. ## 大改
  9. yarn version --major
  10. ## 小改
  11. yarn version --minor
  12. ## 补丁
  13. yarn version --patch
  14. #开启管理git 标签
  15. yarn config set version-git-tag true
  16. # 设置git 标签前缀
  17. yarn config set version-tag-prefix "v"
  18. # 改变注释
  19. yarn config set version-git-message "v%s"
  20. #关闭管理git 标签
  21. yarn config set version-git-tag false

应用环境

  1. # 查看
  2. yarn versions
  3. { http_parser: '2.7.0',
  4. node: '8.9.4',
  5. v8: '6.1.534.50',
  6. uv: '1.15.0',
  7. zlib: '1.2.11',
  8. ares: '1.10.1-DEV',
  9. modules: '57',
  10. nghttp2: '1.25.0',
  11. openssl: '1.0.2n',
  12. icu: '59.1',
  13. unicode: '9.0',
  14. cldr: '31.0.1',
  15. tz: '2017b' }

管工作区

  1. # 列工作区
  2. yarn workspaces info
  3. # 添加依赖
  4. # yarn workspace <workspace_name> <command>
  5. yarn workspace awesome-package add react react-dom --dev
  6. # 移除依赖
  7. # yarn workspace <workspace_name> <command>
  8. yarn workspace awesome-package remove react-dom --save

属主管理

  1. ## 查看
  2. ## yarn owner list <package>
  3. yarn owner list yarn
  4. yarn owner list npm
  5. yarn owner list node
  6. yarn owner list express
  7. ## 修改
  8. ### 添加用户
  9. yarn owner add <user> <package>
  10. ### 移除用户
  11. yarn owner remove <user> <package>

淘宝镜像

  1. yarn config set registry https://registry.npm.taobao.org
  2. //还原镜像yarn config set registry http://registry.npmjs.org

配置文件

  1. https://yarnpkg.com/en/docs/package-json
  2. https://yarnpkg.com/en/docs/yarnrc
  3. https://yarnpkg.com/en/docs/yarn-lock

遇到问题

  1. 问题:使用git bash输入yarn init 出现"Can't answer a question unless a user TTY"
  2. 解决:https://github.com/yarnpkg/yarn/issues/1036

参考文献

yarn官方文档-英文版