Error: Cannot find module 'nan'

Rax Wunter picture Rax Wunter · Dec 25, 2015 · Viewed 26.7k times · Source

I'm working on native Node.js addon and following nan docs

I included nan into binding.gyp like: "include_dirs" : [ "<!(node -e \"require('nan')\")" ]

Also nan is in npm dependencies.

But when I install the package inside the another node module node-gyp is failed with error

> [email protected] install /Users/Shopgate/sandbox/stress/node_modules/nnb
> node-gyp rebuild

module.js:338
    throw err;
          ^
Error: Cannot find module 'nan'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at [eval]:1:1
    at Object.exports.runInThisContext (vm.js:74:17)
    at Object.<anonymous> ([eval]-wrapper:6:22)
    at Module._compile (module.js:460:26)
    at evalScript (node.js:431:25)
    at startup (node.js:90:7)
gyp: Call to 'node -e "require('nan')"' returned exit status 1. while trying to load binding.gyp

Answer

Leonardo Emilio Dominguez picture Leonardo Emilio Dominguez · Mar 25, 2020

In my case, it was because of some dependencies missing in the package-lock file. I solved it by removing it and running $ npm install again.