记npm一件install小事

912 阅读1分钟

事件描述

当dependencies的若干包,同时依赖同一个包,但版本又不兼容。譬如

  • 安装如下包:archiver,fs-extra,unzip2
  • 其他,同时依赖:graceful-fs
  • 结局:产生了一个3.x和一个4.x的graceful-fs包

archiver:

fs-extra:

unzip2:

结局:

解决

update dependency

首先,应当试图先升级unzip2,但该包并无更高版本

force transitive dependency

在preinstall时,强制执行npm-force-resolutions将包统一成4.x

注意:不得已时,再用这个功能,可以更改lock文件强制安装transitive dependency (传递依赖) 的特定版本。

每个包下,独立安装了4.x:

References