这里只记一些感觉比较重要的内容。
什么是yarn
Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。它并没有试图完全取代 npm。Yarn 同样是一个从 npm 注册源获取模块的新的 CLI 客户端。注册的方式不会有任何变化 —— 你同样可以正常获取与发布包。它存在的目的是解决团队在使用 npm 面临的少数问题。当然,在 Node 版本断更替中,Npm 本身也在积极更新。
npm 与 yarn 常用命令对比
Npm | Yarn | 功能描述 |
---|---|---|
npm install(npm i) | yarn install(yarn) | 根据 package.json 安装所有依赖 |
npm i –save [package] | yarn add [package] | 添加依赖包 |
npm i –save-dev [package] | yarn add [package] –dev | 添加依赖包至 devDependencies |
npm i -g [package] | yarn global add [package] | 进行全局安装依赖包 |
npm update –save | yarn upgrade [package] | 升级依赖包 |
npm uninstall [package] | yarn remove [package] | 移除依赖包 |
如何探查 npm 包
如果你想从cli打开模块的主页,你可以这样做:
1 | npm home axios |
要检查未决的问题或公开的路线图(如果有的话),你可以试试这个:
1 | npm bugs axios |
另外,如果你只是想检查模块的 git 仓库,请输入:
1 | npm repo axios |
几个感觉有用的yarn命令
- yarn add
-D/–dev
安装到devDependencies
依赖中
- yarn add
安装到dependencies
依赖中
- yarn add
-E/–exact
安装包的精确版本,默认是安装包的主要版本里的最新版本。 比如说, yarn add foo@1.2.3 会接受 1.9.1 版,但是 yarn add foo@1.2.3 –exact 只会接受 1.2.3 版。
- yarn cache dir
显示yarn缓存的目录,我电脑默认:C:\Users\Administrator\AppData\Local\Yarn\Cache\v2
通过
yarn config set cache-folder <path>
改变缓存目录,不然放在C盘太占空间了。通过yarn cache clean
清空掉。
检测包完整性
- yarn check
验证当前项目 package.json 里的依赖版本和 yarn 的 lock 文件是否匹配。
- yarn check –integrity
验证当前项目 package.json 里包内容的版本和 hash 值是否与 yarn 的 lock 文件一致。 这有助于验证包依赖没有更改。
- yarn check –verify-tree
检查node_modules
下的dependencies
依赖包是否存在和版本是否正确。
假设一个项目:package.json中依赖bootstrap3.x
版本,假设:
更改
package.json
中bootstrap版本改成4.x
,分别运行以上三句命令:yarn check
:1
2
3error Lockfile does not contain pattern: "bootstrap@4.x"
error "bootstrap" is wrong version: expected "4.1.3", got "3.3.7"
error Found 2 errors.
- `yarn check --integrity`:
1
2
error Lockfile does not contain pattern: "bootstrap@4.x"
error Found 1 errors.
- `yarn check --verify-tree`:
1
2
error "bootstrap" is wrong version: expected "4.x", got "3.3.7"
error Found 1 errors.
如上结果,可以看出`--integrity`主要是判断`package.json`是否被手动改坏掉了,`--verify-tree`用于判断`node_modules`下是否已经根据`package.json`更新了版本。
> 个人感觉:应该可以在项目启动或打包前运行`yarn check --verify-tree`,因为这个速度比较快;在多人合作开发中可以告知其他开发者要手动运行`yarn`更新依赖版本了。
- yarn create
[ ]
从一些以create-*
开头的脚手架生成项目。比如:yarn create react-app my-app
相当于yarn global add create-react-app && create-react-app my-app
。
- yarn help
查看命令帮助
- yarn info
[ ]
查看某个包的描述。yarn info <package> version
查看某个包的所有可用版本。
- yarn install –flat
仅为某一个包安装一个确定版本,如果有不同版本依赖将会让你选择。它将会在在package.json
文件增加resolutions
字段。
- yarn outdated [package…]
列出一个或多个程序包依赖项的版本信息。
- yarn upgrade [package]… –latest|-L [–caret | –tilde | –exact] [–pattern]
--latest
标识升级到最新版本。通过--caret
、或--tilde
指定使用什么类型的版本。比如:yarn upgrade --latest --caret
升级boostrap: '3.x'
到bootstrap: ^4.1.3
。