Vue 学习笔记(三十四):yarn
前端的东西真是又多又杂,下了个 vue 小项目,里面有 yarn.lock
文件。这里了解一下 yarn
简介
Yarn 是一个包管理器。类似 npm。可以通过 brew 安装。官网:https://yarn.bootcss.com
yarn 优点
极其快速,Yarn会缓存它下载的每个包,所以无需重复下载。它还能并行化操作以最大化资源利用率。
特别安全,Yarn会在每个安装包被执行前校验其完整性
超级可靠, Yarn使用格式详尽而又简洁的lockfile文件和确定性算法来安装依赖,能够保证在一个系统上的运行的安装过程也会以同样的方式运行在其他系统上
yarn.lock
文件
官方文档对 yarn.lock
的说明:
为了跨机器安装得到一致的结果,Yarn 需要比你配置在 package.json 中的依赖列表更多的信息。Yarn 需要准确存储每个安装的依赖是哪个版本。In order to get consistent installs across machines, Yarn needs more information than the dependencies you configure in your package.json. Yarn needs to store exactly which versions of each dependency were installed.
为了做到这样,Yarn 使用一个你项目根目录里的yarn.lock
文件。这可以媲美其他像 Bundler 或 Cargo 这样的包管理器的 lockfiles。它类似于 npm 的npm-shrinkwrap.json
,然而他并不是有损的并且它能创建可重现的结果。(注:npm-shrinkwrap.json
,是由命令 npm shrinkwrap 生成的,它的作用和package-lock.json
的作用是一样的,都是用来锁定版本用的。现在有了package-lock.json
之后就不怎么用npm-shrinkwrap.json
了。)
Your yarn.lock file is auto-generated and should be handled entirely by Yarn. When you run either yarn or yarn add, Yarn will generate a yarn.lock file within the root directory of your package.
yarn.lock
需要放入 git 等代码仓库中。
yarn 对比 npm
github上最新 star 对比(20200920) yarn 39k,npm 17.2k,yarn还是广受欢迎的。
常用命令对比
npm init ---- yarn init
npm install ---- yarn
npm install [email protected] -g ---- yarn global add [email protected]
npm install [email protected] --save ---- yarn add [email protected]
npm install [email protected] --save-dev ---- yarn add [email protected] --dev
npm uninstall xxx --save(-dev) ----yarn remove xxx
npm run xxx ---- yarn run xxxx
更多:
npm (v5) | Yarn |
---|---|
npm install | yarn add |
(N/A) | yarn add --flat |
(N/A) | yarn add --har |
npm install --no-package-lock | yarn add --no-lockfile |
(N/A) | yarn add --pure-lockfile |
npm install [package] --save | yarn add [package] |
npm install [package] --save-dev | yarn add [package] --dev |
(N/A) | yarn add [package] --peer |
npm install [package] --save-optional | yarn add [package] --optional |
npm install [package] --save-exact | yarn add [package] --exact |
(N/A) | yarn add [package] --tilde |
npm install [package] --global | yarn global add [package] |
npm update --global | yarn global upgrade |
npm rebuild | yarn add --force |
npm uninstall [package] | yarn remove [package] |
npm cache clean | yarn cache clean [package] |
rm -rf node_modules && npm install | yarn upgrade |
npm version major | yarn version --major |
npm version minor | yarn version --minor |
npm version patch | yarn version --patch |
If you want to try Yarn out on your existing npm project, just try running:
yarn
基本语法
初始化一个新项目 yarn init
添加依赖包
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
将依赖项添加到不同依赖项类别中
分别添加到 devDependencies、peerDependencies 和 optionalDependencies 类别中:bash yarn add [package] --dev yarn add [package] --peer yarn add [package] --optional
升级依赖包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
移除依赖包
yarn remove [package]
安装项目的全部依赖
yarn
或者:
yarn install