solution-viewer .solutions(show="{solution != null && solution !== false}") h2 This is probably your problem: solution(topic="bindingSyntax") h3 There's a syntax error in the binding.gyp file of the {parent.offendingModule} module. p Unfortunately, there's nothing you can do about this, other than filing a bug on the {parent.offendingModule} package and waiting for the author to fix it. solution(topic="missingEnvironment") h3 Your build environment is missing or incomplete. p One or more build tools or SDKs are missing from your system. Follow the setup instructions for node-gyp to resolve this. solution(topic="brokenEnvironment") h3 Your build environment is broken. p Something in your environment doesn't work as it should; it's possible that you're missing some build tools, or that they need to be updated or rebuilt. p Try the following steps: ol li Follow the setup instructions for node-gyp. li If on OS X, make sure to upgrade your installation of XCode to the latest version. li If it still doesn't work, try reinstalling Node.js. solution(topic="missingPython") h3 Python is not installed. p You will need to have Python installed, to be able to install compiled (C++) modules with NPM. It's possible that you're also missing other build tools. p To solve this problem, follow the setup instructions for node-gyp. solution(topic="wrongPython") h3 You have the wrong version of Python installed. p The node-gyp utility, which is used for installing compiled (C++) modules with NPM, only supports Python 2. However, you only seem to have Python 3 installed. p To solve this problem, follow the setup instructions for node-gyp. p If you're certain that you have Python 2 installed, you may need to configure npm to know where it is. This is also covered in the above instructions. solution(topic="gcc") h3 Your C++ compiler is too old. p Newer C++ modules for Node.js require a recent C++ compiler, and not all distributions include a recent enough version of GCC. p The exact instructions will vary by distribution and OS, but these are some that I know of: ul li: a(href="http://charette.no-ip.com:81/programming/2011-12-24_GCCv47/") Ubuntu p If you know of instructions for other distributions, then please send me an e-mail! solution(topic="nan") h3 Your version of Node.js is too new, and you need to update your dependencies. p The version of the {parent.offendingModule} module that you're trying to install, was written for an older Node.js version. There's probably a newer version available, so try updating your project or its dependencies. p If this doesn't work, then file a bug on the {parent.offendingModule} module, and ask the author to make it compatible with the newest Node.js version. solution(topic="v8") h3 Your version of Node.js is either too new, or too old. p The version of the {parent.offendingModule} module that you're trying to install, was written for a different Node.js version. p There may be a different version available that's compatible with your Node.js version. p If there isn't, or you can't find it, then file a bug on the {parent.offendingModule} module, and ask the author to make it compatible with the newest Node.js version. solution(topic="missingLibrary", data-handler="{_missingLibraryHandler}") h3 You're missing one or more libraries on your system. p A dependency you're trying to install ({parent.offendingModule}) requires one or more libraries to be installed on your system, but NPM can't find them. p The missing libraries are: .libraryBoxes library-box(each="{library in parent.missingLibraries}", library-info="{library}") .clear virtual(if="{parent.hasUnknownLibraries}") p For the unknown libraries listed above, try reading the documentation of the {parent.offendingModule} module, or Googling the filename(s). p To help improve this tool, please e-mail me with the details once you've determined which package(s) the libraries belong to, and I'll add them to the database. solution(topic="libraryVersion") h3 You have the wrong version of a library installed on your system. p One or more of the libraries that's used by the {parent.offendingModule} module exist on your system, but aren't the right version. p Unfortunately I don't really have more information about it - you'll have to read the documentation for the {parent.offendingModule} module to determine which version you need to have installed. p Alternatively, you can e-mail me with a gist of your NPM output, and I'll try to find the problem for you. solution(topic="headers") h3 You're missing the Node.js development headers. p When installing Node.js from your distribution's package manager, you must also install the development headers. Some possible names of the package for this: ul li: code node-dev li: code node-devel li: code nodejs-dev li: code nodejs-devel p Depending on the distribution you're using, it may also have a different name. solution(topic="npmBug") h3 That looks like an NPM bug. p Occasionally, NPM installations will bug out, and it seems like that has happened here. Try removing your node_modules directory, and installing your dependencies again from scratch using npm install. p Make sure that your package.json correctly declares all your dependencies, or there might be missing dependencies. This article explains how to install packages in such a way that this is never an issue. solution(topic="symlinkIssue") h3 There's an issue with symbolic links on your system. p You are most likely running npm install in something like Docker or VirtualBox, with "shared directories" enabled. This is known to cause issues with symbolic links on some platforms. p A workaround is to install your packages using --no-bin-links. solution(topic="unmetDependency", data-handler="{_missingModuleHandler}") h3 You're missing a dependency. p Your package.json indicates a dependency that isn't actually installed into your node_modules. These are the dependencies you're missing: .moduleBoxes module-box(each="{module in parent.missingModules}", module-info="{module}") .clear p You can generally fix this by simply running npm install, without any additional arguments. solution(topic="unmetPeerDependency", data-handler="{_missingModuleHandler}") h3 You're missing a peer dependency. p You're missing one or more dependencies that require manual installation - usually, this concerns a library that you've installed a plugin for. The missing dependencies are: .moduleBoxes module-box(each="{module in parent.missingModules}", module-info="{module}") .clear p To understand the range notation that is used here (if any), read this article. h2 Did this solve your problem? p Maintaining open-source projects takes a lot of time and effort. If this tool saved you some headaches, consider making a donation :) h2 Still broken? p If it still doesn't work, please file an issue, containing the full npm install output. //p If it still doesn't work, contact me and I'll try to work out what's wrong. Please paste your output to a pastebin like GitHub Gist, and send it to me on IRC or by e-mail. //p IRC: You can find me on Freenode in #Node.js as joepie91. //p E-mail: My e-mail address is admin@cryto.net. .no-solutions(show="{solution === false}") h2 Sorry, I couldn't find your problem. p Please file an issue, containing the full npm install output. I will try to figure out your error, and add detection for it to this tool as well! //p Please paste your output to a pastebin like GitHub Gist, and send it to me on IRC or by e-mail. I will try to figure out your error, and add detection for it to this tool as well! //p IRC: You can find me on Freenode in #Node.js as joepie91. //p E-mail: My e-mail address is admin@cryto.net. style(scoped, type="scss"). h2 { margin-top: 32px; } solution { display: none; } .libraryBoxes, .moduleBoxes { margin-top: 12px; margin-bottom: 12px; } .clear { clear: both; } script. const $ = require("jquery"); const flatten = require("arr-flatten"); const dedupe = require("dedupe"); const findPackages = require("../find-packages"); this.mixin(require("riot-query").mixin); Object.assign(this, { viewTopic: (topic, data) => { let solutions = this.query("solution"); this.solution = topic; solutions.forEach((solution) => { $(solution.root).hide(); }); solutions.filter((solution) => { return solution.opts.topic === topic; }).forEach((solution) => { $(solution.root).show(); solution.setData(data); this.offendingModule = data.offendingModule; }); this.update(); }, _missingLibraryHandler: (data) => { this.missingLibraries = dedupe(flatten(data.missingLibraries.map((library) => { let knownPackages = findPackages(library); if (knownPackages.length > 0) { return knownPackages; } else { return { headerNames: [library] } } }))); this.hasUnknownLibraries = (this.missingLibraries.some((library) => library.name == null)); this.update(); }, _missingModuleHandler: (data) => { this.missingModules = data.missingModules; this.update(); } });