目录
1.什么是npm
npm:Node Package(包) Manager(管理器)。
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用
2.什么是yarn
yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具,yarn是为了弥补 npm 的一些缺陷而出现的
3.npm与yarn的比较
3.1npm的缺陷:
- npm install 的时候巨慢,新的项目拉下来要等半天
- 同一个项目,安装的时候无法保持一致性。由于package.json文件中依赖包版本号的特点,有时会由于安装版本不一致出现bug
- 安装的时候,包会在同一时间下载和安装,中途某个时候,一个包抛出了一个错误,但是npm会继续下载和安装包。因为npm会把所有的日志输出到终端中,有关错误包的错误信息就会在一大堆npm打印的警告中丢失掉,并且你甚至永远不会注意到实际发生的错误
3.2 yarn 的优点
- 并行安装:npm是按照队列执行每一个包,也就是必须等到当前包安装完成之后才能继续后面的安装。而yarn是并行执行所有任务,提高了性能
- 离线模式:如果之前已经安装过一个软件包,用yarn再次安装时会从缓存中获取,就不用像npm那样再从网络下载了
npm | yarn |
---|---|
npm init | yarn init |
npm init -y | yarn init -y |
npm install | yarn |
npm install xxx | yarn add xxx |
npm install --global xxx | yarn global add xxx |
npm uninstall xxx | yarn remove xxx |
npm install xxx@版本号 | yarn add xxx@版本号 |
npm install xxx --save | yarn add xxx |
npm install xxx --save-dev | yarn add xxx --dev |
npm update --save | yarn upgrade |
npm run | yarn run |
npm run xxx | yarn run xxx |
npm run dev | yarn dev |