在干净的环境中npm install
之后,我遇到了b
包的问题:
npm ls b
a@2.0.6
├── b@3.0.0
├─┬ c@3.0.1
│ └── UNMET DEPENDENCY b@^1.0.0
└─┬ d@4.1.1
└─┬ c@2.1.0
└── UNMET DEPENDENCY b@^1.0.0
npm ERR! missing: b@^1.0.0, required by c@3.0.1
npm ERR! missing: b@^1.0.0, required by c@2.1.0
这显然会导致错误,因为包c
需要b@^1.0.0
,但会收到b@3.0.0
。
我努力强迫npm安装两个版本,就好像它们是不同的软件包一样。尝试通过npm docs,package-locks和shinkwrap,但没有成功。我该如何解决这个问题?
环境信息:
OS: macOS High Sierra 10.13.4
npm: 6.10
node: v8.8.1
答案 0 :(得分:2)
玩弄我注意到,很多包都有UNMET DEPENDENCY。以下程序修复了问题:
rm -rf node_modules
npm cache clean --force
npm install
清理npm缓存后问题已完全解决:
a@2.0.6
├── b@3.0.0
├─┬ c@3.0.1
│ └── b@^1.0.0
└─┬ d@4.1.1
└─┬ c@2.1.0
└── b@^1.0.0
奇怪的错误。