yarn 是为了弥补 npm 的一些缺陷的一个新的 JS 包管理工具,它和npm一样都会生成一个node_modules依赖文件夹,和一个package.json文件。不同的是npm生成了一个package-lock.json文件。yarn生成了一个yarn.lock文件。
yarn的安装和查看版本:
npm install -g yarn
yarn --version
下面我们来看一下npm和yarn的功能对比:
npm存在的一些问题:
npm install 是排队安装包的,安装完一个包才会安装下一个包,所以npm的下载速度相比来说要比较慢,由于没有缓存的机制,当重新执行npm install 时npm又会从网络上重新下载包,所以速度还是比较慢。
npm总是从网站上下载最新包,而且不进行默认锁定,导致项目如果再次安装时可能出现包依赖的不兼容问题。
当npm安装多个包时,在安装过程中,如果一个包报错了,npm会继续安装其他包,导致错误信息被其他信息掩盖掉,给错误的排查带来麻烦。
以上问题可以用yarn来解决:
yarn可以并行下载所以安装速度要更快,而且有缓存机制可以使二次安装包时速度更快。
有默认的版本锁定功能可以防止包版本兼容报错问题
能输出更简洁更直观的安装信息
npm 和yarn使用方式对比:
npm安装命令:npm install 模块名,npm install 模块名 --save
npm运行项目:npm run serve
npm打包:npm run build
yarn安装命令:yarn add 模块名
yarn运行项目:yarn serve
yarn 打包:yarn build