携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详情
npm 与 yarn 都是项目中常用的包管理器。
在使用npm i(npm install)的时候也许大家都吐槽过它的速度,特别是大型的项目,有时还可能出现手动删除node_modules的场景,一个字,慢。总结来说,就是不够快速以及稳定。
npm
NPM(Node Package Manager),是一个NodeJS包管理和分发工具.
- 安装
nodejs集成了npm,所以无需单独安装,npm-v查看npm版本。
- 安装包命令:
npm install -g yarn
安装淘宝提供的cnpm,安装后直接用cnpm替代npm
npm install -g cnpm --registry=https://registry.npm.taobao.org
- 启动项目
npm run ...
在npm中允许安装指定的版本号的依赖或者是最新的依赖,但是会导致一个问题,同一个项目中,package.json相同,但在不同设备上可能会出现不同的版本依赖,从而导致错误出现。
并且在安装的时候可能出现各种花式错误,一不小心就是一串 npm ERR!
yarn
- 安装:
npm install -g yarn
- 启动项目
yarn serve
- 安装包命令:
yarn
执行后会根据packge.json文件开始安装依赖包,生成node_modules文件夹。
- 启动项目
yarn serve
执行yarn install后,会产生一个lock文件,这个文件是用来确保依赖解析时能够又快又稳定。(不需要修改这个文件,yarn 会在管理依赖项时对其进行更新)
CLI 命令比较
npm 与 yarn 对比
- 对比来说,yarn的语义简洁并且更加快速。
- npm 安装的时候模块版本无法保持一致性;yarn 可以避免包版本的错误匹配(通过 lock file 自动更新,以保持统一性)。
- npm 安装时,任务按包顺序执行(只有当一个包全部安装完成后,才会安装下一个);Yarn 是并行执行任务,效率更高。