No Description

Sven Slootweg 7222736b8d 1.0.1 3 years ago
src 68e4af870d Add libtool case 3 years ago
testcases 1c33e5a2a5 Add testcase for libtool case 3 years ago
.babelrc f29e14e841 Fix .babelrc format 3 years ago
.gitignore 239cb41f89 Initial commit 3 years ago
.npmignore 239cb41f89 Initial commit 3 years ago
README.md f85a5e09b2 Add missing license header 3 years ago
gulpfile.js 239cb41f89 Initial commit 3 years ago
local-server.js 239cb41f89 Initial commit 3 years ago
package.json 7222736b8d 1.0.1 3 years ago

README.md

Why is NPM broken?

This is the source code for the npm install error analysis tool at http://cryto.net/why-is-npm-broken/.

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.

Caveats

  • 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.

License

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

Donate

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!

Contributing

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.