I believe it is because the dependency resolution is a bit broken, see https://github.com/npm/npm/issues/1341#issuecomment-20634338
Following are the possible solution :
Manually need to install the top-level modules, containing unmet dependencies:
npm install [email protected]
Re-structure your package.json. Place all the high-level modules (serves as a dependency for others modules) at the bottom.
Re-run the npm install
command.
The problem could be caused by npm's failure to download all the package due to timed-out or something else.
Note: You can also install the failed packages manually as well using npm install [email protected]
.
Before running npm install
, performing the following steps may help:
- remove node_modules using
rm -rf node_modules/
- run
npm cache clean
Why 'removing node_modules' sometimes is necessary?
When a nested module fails to install during npm install
, subsequent npm install
won't detect those missing nested dependencies.
If that's the case, sometimes it's sufficient to remove the top-level dependency of those missing nested modules, and running npm install
again. See
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…