You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sven Slootweg 7222736b8d 1.0.1 6 years ago
src Add libtool case 6 years ago
testcases Add testcase for libtool case 6 years ago
.babelrc Fix .babelrc format 6 years ago
.gitignore Initial commit 6 years ago
.npmignore Initial commit 6 years ago Add missing license header 6 years ago
gulpfile.js Initial commit 6 years ago
local-server.js Initial commit 6 years ago
package.json 1.0.1 6 years ago

Why is NPM broken?

This is the source code for the npm install error analysis tool at

This tool takes npm install output, tries to determine what error occurred, and presents it to the user in an easily understable format - where possible, including instructions on how to resolve the issue.


  • It's not the nicest code. This tool was thrown together in a hurry, and I haven't yet had the time to make it nicer.
  • It doesn't yet understand every possible error. I add detection rules whenever I run across new error cases in the #Node.js channel and elsewhere. If you run into a new case, please file an issue.
  • While for "missing library" issues it tries to determine which library you're missing, the database of known libraries (src/known-libraries.js) is currently very limited. Again, if you run into an unrecognized library, please file an issue.
  • The error detection logic in this tool is currently developed in-tree because its output format is still subject to potential changes, but it will eventually be moved into its own module. Hopefully, one day NPM will integrate it into their client directly.


WTFPL or CC0, whichever you prefer. A donation and/or attribution are appreciated, but not required.


Maintaining open-source projects takes a lot of time, and the more donations I receive, the more time I can dedicate to open-source. If this module is useful to you, consider making a donation!

You can donate using Bitcoin, PayPal, Flattr, cash-in-mail, SEPA transfers, and pretty much anything else. Thank you!


Pull requests welcome. Please make sure your modifications are in line with the overall code style, and ensure that you're editing the files in src/, not those in lib/.

Build tool of choice is gulp; simply run gulp while developing, and it will watch for changes.

Be aware that by making a pull request, you agree to release your modifications under the licenses stated above.