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
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
2
3
4
# yarn 换源
# 安装淘宝镜像
$ yarn config set registry https:#registry.npm.taobao.org
1
2
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
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
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
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
上次更新: 2022/04/15, 05:41:27