npm和yarn的区别(包管理工具)

时间:2025-02-23 12:58:53

包管理工具npm和yarn的一些区别

1. 官网文档

[npm](/)
[yarn](/)

2. npm存在的一些不足

  1. npm install的时候巨慢。特别是新的项目拉下来要等半天,删除node_modules,重新install的时候依旧如此。

  2. 同一个项目,安装的时候无法保持一致性。由于文件中版本号的特点,下面三个版本号在安装的时候代表不同的含义。 “5.0.3”表示安装指定的5.0.3版本,“~5.0.3”表示安装5.中最新的版本,“^5.0.3”表示安装中最新的版本。这就麻烦了,常常会出现同一个项目,有的同事是OK的,有的同事会由于安装的版本不一致出现bug。

"5.0.3",
"~5.0.3",
"^5.0.3"
  1. 安装的时候,包会在同一时间下载和安装,中途某个时候,一个包抛出了一个错误,但是npm会继续下载和安装包。因为npm会把所有的日志输出到终端,有关错误包的错误信息就会在一大堆npm打印的警告中丢失掉,并且你甚至永远不会注意到实际发生的错误

3. Yarn是什么?有什么优点

“Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,是为了弥补 npm 的一些缺陷而出现。
他的优点:

  • 安装速度快 (服务器速度快 , 并且是并行下载)
  • 版本锁定,安装版本统一
  • 缓存机制,如果之前已经安装过一个软件包,用Yarn再次安装时之间从缓存中获取,就不用像npm那样再从网络下载了

4. 常用命令对比

npm yarn
npm install yarn
npm install 模块名 --save-dev yarn add 模块名 --dev
npm install 模块名 --save yarn add 模块名
npm run serve yarn serve
npm run build yarn build

5.其他

–设置淘宝镜像
‘NPM查询当前配置的镜像’
npm get registry
‘NPM设置成淘宝镜像’
npm config set registry

‘Yarn查询当前配置的镜像’
yarn config get registry
‘Yarn设置成淘宝镜像’
yarn config set registry