Yarn 是一个软件包管理器,还可以作为项目管理工具;它的优点是更快、更安全、更可靠。它的主要特性有离线模式、确定性、网络性能、多注册、网络恢复能力
Yarn 的优点
快速: Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。 可靠: 使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。 安全: 在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
在使用 Yarn 之前,首先要在您的系统上安装 Yarn 。 虽然安装 Yarn 有很多种方式,但是建议采用这一种跨平台的安装方式:
npm install -g yarn
通过如下命令测试 Yarn 是否安装成功
yarn --version
显示命令列表
yarn help
初始化一个新项目
yarn init
安装所有依赖项
yarn add [package] // 会自动安装最新版本,会覆盖指定版本号
yarn add [package] [package] [package] // 一次性添加多个包
yarn add [package]@[version] // 添加指定版本的包
yarn add [package]@[tag] // 安装某个tag(比如beta,next或者latest)
--相当于npm install [package]
将依赖项添加到不同的依赖类别中; 不指定依赖类型默认安装到dependencies里,你也可以指定依赖类型分别添加到 devDependencies、peerDependencies 和 optionalDependencies
yarn add [package] --dev 或 yarn add [package] -D // 加到 devDependencies
yarn add [package] --peer 或 yarn add [package] -P // 加到 peerDependencies
yarn add [package] --optional 或 yarn add [package] -O // 加到 optionalDependencies
--相当于npm insta相当于 [packageName] --save-dev
更新依赖项
yarn upgrade [package] // 升级到最新版本
yarn upgrade [package]@[version] // 升级到指定版本
yarn upgrade [package]@[tag] // 升级到指定tag
--相当于npm update [package]
删除依赖项
yarn remove [package] // 移除包
--相当于npm uninstall [package]
更新 Yarn 本体
yarn set version latest
yarn set version from sources
安装package.json里的包依赖,并将包及它的所有依赖项保存进yarn.lock
yarn 或 yarn install // 安装所有依赖
yarn install --flat // 安装一个包的单一版本
yarn install --force // 强制重新下载所有包
yarn install --production // 只安装生产环境依赖
添加依赖关系
- 将会自动将package@version添加进 package.json文件中的 "dependencies"中
- 自动更新.lock文件
dependencies: 正常的运行过程中的依赖 浏览器跑的时候
devDependencies: 开发模式 所用的依赖
peerDependencies: 当你发布项目的时候 可以指定该依赖
optionalDependencies: 可有可无,表示在安装失败的时候一个备选的依赖保证过程
bundleDependencies: 发布项目的时候所用的依赖 不是从npm来的 一起打包发布到npm上
yarn add --dev to add to devDependencies
yarn add --peer to add to peerDependencies
yarn add --optional to add to optionalDependencies
版本控制器
Yarn Cache
yarn cache ls # 将打印出每个缓存方案。
yarn cache dir package# 安装在本地的什么位置
yarn cache clean # 对本地缓存进行强制清除 再执行yarn cache ls将找不到缓存
# 改变默认的缓存目录
yarn config set cache-folder <path>
yarn <command> --cache-folder <path>
Yarn Config
yarn config set <key> <value> [-g|--global] #设置配置项
yarn config set init-license BSD-2-Clause
yarn config set registry https://registry.npm.taobao.org # 修改镜像获取位置'https://registry.yarnpkg.com' 默认的镜像位置
yarn config get <key> # 获取配置项信息
yarn config get init-license
yarn config delete <key> # 删除某一配置项
yarn config delete test-key
yarn config list # 显示当前所有的配置
Yarn Tag
yarn add your-package-name@stable
yarn add your-package-name@canary
yarn add your-package-name@<version>
- latest 当前版本的包
- stable包的最新稳定版本,通常长期支持(LTS)
- beta 最新发布前和/或稳定,用于共享即将改变之前完成
- canary 如果你的项目是频繁更新,许多人依靠你可能更早使用这个共享代码。
- dev 有时你希望能够测试出一个通过注册表修改当你还在研究的东西,这是非常有用的 添加一个名为标记为一个特定的