install

前言

从 npm 到 yarn,再到之后的 pnpm, ni 等安装工具

不断进步, 不断升级, 升级了哪些,又存在哪些问题

问题

  • 嵌套安装

    • 路径过长
    • 同一依赖, 多次安装
  • 扁平安装

    • 仅一个版本根据包的安装顺序被提升,且升级版本后,会存在新的问题(依赖提升的不确定性)
  • npm 分身

    • hoist 机制
  • 幽灵依赖

    • 项目未安装某个依赖,但因为安装的某个依赖中使用了该依赖, 导致可以项目中使用未安装的依赖, 但在项目升级后, 若去掉该依赖, 就会报错

    结构

node_modules
└─ foo
   ├─ index.js
   ├─ package.json
   └─ node_modules
      └─ bar
         ├─ index.js
         └─ package.json

1
2
3
4
5
6
7
8
9

npm

npm i
1

yarn

yarn
1

pnpm

pnpm i
1

ni

ni
1
上次更新:
(adsbygoogle = window.adsbygoogle || []).push({});