npm, yarn, pnpm区别
npm
- 比较早,文档生态都比较完善。
- 包都装在每个项目的node_modules目录下,多个项目就会出现重复下载,导致占用空间
- 服务器在国外,下载慢,一般用淘宝镜像或cnpm
- 依赖扁平化问题,会把依赖中的嵌套依赖提升到外层,可能有版本冲突,依赖丢失等问题
yarn
- facebook推出,大厂保障,稳定
- 并行下载,提升速度
- 也存在依赖扁平化问题
pnpm
- 并行安装,提升速度
- 包安装在全局,通过硬链接软连接(硬链接,一个文件有多个入口,直到删除最后一个入口才会真的删除掉文件,不能跨分区磁盘用)来在各个项目中使用,减少了重复的包,节省空间,安装更快
- 没有依赖扁平化问题
注:
- package中版本前面的符号:~ 最后一位最新,^ 后两位最新
- 设置镜像源:npm config set registry registry.npmmirror.com/
- cnpm每10分钟同步一次npm官方服务