I have a node package. When I run
npm install from the package root, it installs a bunch of things, but then prints several error messages that look like this:
npm WARN unmet dependency /Users/seanmackesey/google_drive/code/explore/generator/node_modules/findup-sync/node_modules/glob requires [email protected]'~1.2.0' but will load
I must be confused about what exactly
npm install does. If it detects a dependency, shouldn't it install it? Under what conditions does it give me error messages like this, and how can I resolve the dependencies?
This question is tagged with
~ Asked on 2013-12-24 17:49:30
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.
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].
npm install, performing the following steps may help:
rm -rf node_modules/
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
~ Answered on 2013-12-24 18:37:28
It happened to me when the WIFI went down during an
npm install. Removing
node_modules and re-running
npm install fixed it.
~ Answered on 2014-04-17 11:13:53