解决 npm i 会重复安装依赖

一个老项目中用到了 leaflet 这个地图操作库,最近项目升级,需要使用 supermap,于是安装 @supermap/iclient-leaflet(依赖 leaflet),然后程序报错。
经检查,发现原始安装的 leaflet 版本为 1.5.1,而 iclient-leaflet 依赖 1.7.1,造成程序中同时引用了2个不同版本的 leaflet 导致错误,于是升级 leaflet 至 1.7.1。
一切就绪,run——错误依旧,无语.jpg。
继续排查,发现 npm 居然会重复安装 leaflet 1.7.1:通过 npm list leaflet 查看其依赖树为:

+-- @supermap/iclient-leaflet@10.2.1
| `-- leaflet@1.7.1 (此处重复)
+-- esri-leaflet@2.2.4
| `-- leaflet-virtual-grid@1.0.7
|   `-- leaflet@1.7.1 deduped
`-- leaflet@1.7.1

于是通过 npm ddp (或 npm dedupe) 清理重复依赖,问题解决。