yarn相关总结

# 简介

Yarn是Facebook最近发布的一款依赖包安装工具。

# 特点

  • 速度超快。

    Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。

  • 超级安全。

    在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。

  • 超级可靠。

    使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。

# 安装

# 安装的各种方式

  • npm方式
npm install -g yarn  
1
  • Mac/Linux 直接使用脚本
curl -o- -L https://yarnpkg.com/install.sh | bash  
1
  • 全局命令方式
brew install yarn 

#sudo apt-key adv --keyserver pgp.mit.edu --recv D101F7899D41F3C3
#echo "deb http://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
#sudo apt-get update && sudo apt-get install yarn
1
2
3
4
5
  • 安装包文件

windows 下需要下载msi文件 ,下载地址:https://yarnpkg.com/latest.msi

# 查看是否安装成功

yarn --version

# 查看 yarn 配置

$ yarn config get registry
# 或者
$ yarn config list
> registry: 'https:#registry.yarnpkg.com'
1
2
3
4

# yarn 换源

# 安装淘宝镜像
$ yarn config set registry https:#registry.npm.taobao.org
1
2

# 常用命令

# 初始化项目

yarn init # 同npm init,执行输入信息后,会生成package.json文件
1

# yarn的配置项

yarn config list # 显示所有配置项
yarn config get <key> #显示某配置项
yarn config delete <key> #删除某配置项
yarn config set <key> <value> [-g|--global] #设置配置项
1
2
3
4

# 安装包

yarn install #安装package.json里所有包,并将包及它的所有依赖项保存进yarn.lock
yarn install --flat #安装一个包的单一版本
yarn install --force #强制重新下载所有包
yarn install --production #只安装dependencies里的包
yarn install --no-lockfile #不读取或生成yarn.lock
yarn install --pure-lockfile #不生成yarn.lock

添加包(会更新package.json和yarn.lock):
yarn add [package] # 在当前的项目中添加一个依赖包,会自动更新到package.json和yarn.lock文件中
yarn add [package]@[version] # 安装指定版本,这里指的是主要版本,如果需要精确到小版本,使用-E参数
yarn add [package]@[tag] # 安装某个tag(比如beta,next或者latest)

#不指定依赖类型默认安装到dependencies里,你也可以指定依赖类型:
yarn add --dev/-D # 加到 devDependencies
yarn add --peer/-P # 加到 peerDependencies
yarn add --optional/-O # 加到 optionalDependencies

#默认安装包的主要版本里的最新版本,下面两个命令可以指定版本:
yarn add --exact/-E # 安装包的精确版本。例如yarn add foo@1.2.3会接受1.9.1版,但是yarn add foo@1.2.3 --exact只会接受1.2.3版
yarn add --tilde/-T # 安装包的次要版本里的最新版。例如yarn add foo@1.2.3 --tilde会接受1.2.9,但不接受1.3.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 发布包

yarn publish
1

# 移除一个包

yarn remove <packageName>:移除一个包,会自动更新package.json和yarn.lock
1

# 更新一个依赖

yarn upgrade 用于更新包到基于规范范围的最新版本
1

# 运行脚本

yarn run 用来执行在 package.json 中 scripts 属性下定义的脚本
1

# 显示某个包的信息

yarn info <packageName> 可以用来查看某个模块的最新版本信息
1

# 缓存

yarn cache
yarn cache list # 列出已缓存的每个包 yarn cache dir # 返回 全局缓存位置 
yarn cache clean # 清除缓存
1
2
3

# 与Npm命令比较

区别命令

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 Yarn 功能描述
npm run yarn run 运行 package.json 中预定义的脚本
npm config list yarn config list 查看配置信息
npm config set registry 仓库地址 yarn config set registry 仓库地址 更换仓库地址
npm init yarn init 互动式创建/更新 package.json 文件
npm list yarn list 查看当前目录下已安装的node包
npm login yarn login 保存你的用户名、邮箱
npm logout yarn logout 删除你的用户名、邮箱
npm outdated yarn outdated 检查过时的依赖包
npm link yarn link 开发时链接依赖包,以便在其他项目中使用
npm unlink yarn unlink 取消链接依赖包
npm publish yarn publish 将包发布到 npm
npm test yarn test 测试 = yarn run test
npm bin yarn bin 显示 bin 文件所在的安装目录
npm info yarn info 显示一个包的信息
npm init === yarn init
npm install === yarn 或者 yarn install
npm update --save === yarn upgrade

npm install taco --save === yarn add taco
npm uninstall taco --save === yarn remove taco
npm install taco --save-dev === yarn add taco --dev
npm install taco@latest --save === yarn add taco
npm install taco --global === yarn global add taco

npm init --yes/-y === yarn init --yes/-y
npm link === yarn link
npm outdated === yarn outdated
npm publish === yarn publish
npm run === yarn run
npm cache clean === yarn cache clean
npm login === yarn login
npm test === yarn test
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
上次更新: 2022/04/15, 05:41:27
×