一、什么是yarn
yarn是Facebook发布的一款可取代npm的js包管理工具,yarn的操作与npm的极为相近,
而且yarn同样是从npm注册源来获取模块工具
二、为什么使用yarn
使用过npm的人都知道,npm还是存在很多问题,使用它会经常出现慢、卡顿且有时候包下载的不完整,
尤其是别人创建的一些项目,经久累月,重新安装依赖的时候总是会出现很多的问题,
且会出现不同的人有的时候安装的包的版本不一致,
尽管现在npm的最新版已经针对这些问题进行改善,但还是会偶尔出现一些问题,
yarn就不同了,yarn提供了一个yarn.lock文件,这个文件能保证所有人在不同机器上下载的版本都一样,
虽然这在npm新版中也增加相应的lock文件,但由于npm的不稳定性,它还是不能完全保证不出现问题,
总而言之,yarn总是能快速、安全且完整的一次性下载好,所以个人更偏向用yarn来代替npm。
三、yarn的特点
1、速度超级快:
yarn缓存了每个下载的包,如果再次使用则无需再下载,除此之外,其并行下载以最大化资源利用率,所以安装的速度超级快
2、超级安全
在执行代码之前,yarn会通过算法校验每个安装包的完整性
3、超级可靠
使用超级详细、简洁的锁文件格式和明确的安装算法,yarn能保证在不同的系统上无差异的工作
四、安装yarn
方法一:在安装了node的情况下,使用npm进行安装,并在安装完后使用 yarn --version是否安装成功
npm install -g yarn
方法二、在安装了node的情况下,直接在官网(https://yarnpkg.com/zh-Hans/docs/install#windows-stable)下载yarn的安装程序
方法三:在安装了Chocolatey(Chocolatey是windows的包管理器)后,使用Chocolatey进行下载安装yarn
choco install yarn
方法四:在安装了Scoop的情况下(Scoop是Windows的命令行安装程序),使用Scoop进行安装yarn
scoop install yarn
五、yarn的常用命令
1、查看yarn的版本号
yarn --version
yarn -v
yarn -version
2、创建文件夹yarn
md yarn
3、进入yarn文件夹
cd yarn
4、初始化项目,执行需要输入的信息之后就会在yarn文件夹下得到package.json文件
yarn init
5、yarn的配置项命令
yarn config list 显示所有配置项
yarn config set key value [-g|--global] 设置某个配置项
yarn config get key 获取某个配置项
yarn config delete key 删除某个配置项
6、安装项目中package.json里的包
yarn install 安装package.json里的所有包,并且将包和包的所有依赖保存在yarn.lock文件里
yarn install --flat 安装包的单一版本
yarn install --force 强制重新下载所有包
yarn install --production 只是安装package.json里的dependencies里的包
yarn install --no-lockfile 不读取或者生成yarn.lock文件
yarn install --pure-lockfile 不生成yarn.lock文件
7、添加包
yarn add [package] 在项目中安装包,并自动更新到package.json和yarn.lock文件中,默认安装到dependencies里
yarn add [package]@[version] 安装指定版本的包,默认安装到dependencies里
yarn add [package]@[tag] 安装某个tag的包,比如latest ,next,beta,默认安装到dependencies里
yarn add [package]| [package]@[version] |[package]@[tag] --dev|-D 安装包到devDependencies里
yarn add [package]| [package]@[version] |[package]@[tag] --peer|-P 安装包到peerDependencies里
yarn add [package]| [package]@[version] |[package]@[tag] --optional|-O 安装包到optionalDependencies里
yarn add [package]@[version] --exact|-E 安装包的精确版本
yarn add [package]@[version] --tilde|-T 安装包的次要版本的精确版本
8、发布版本
yarn publish
9、移除包
yarn remove [packageName]
10、升级包
yarn upgrade [packageName]
11、运行package.json里的scripts脚本命令
yarn run XXXX 比如:yarn run dev
12、缓存
yarn cache list 显示已经缓存的列表
yarn cache dir 返回全局缓存的位置
yarn cache clean 清除缓存