关于node.js:错误:找不到模块’nan’

Error: Cannot find module 'nan'

我正在研究本机Node.js插件并遵循nan文档

我把nan包括在binding.gyp中:
"include_dirs" : ["

nan也是npm依赖。

但是当我在另一个节点模块中安装软件包时,node-gyp失败并出现错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
> [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. ([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


不理想但是如果你先安装nan就可以了。

1
$ npm install nan


全局安装nan

npm i -g nan

然后,

export NODE_PATH=$(npm root -g)


我参加派对有点晚了。但对我有用的是使用rm -rf node_modules && npm install重新安装所有node_modules


不幸的是我有这个问题,任何有"npm"的东西都会立即返回并抛出错误。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
module.js:471
    throw err;
    ^

Error: Cannot find module 'number-is-nan'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object. (/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/index.js:2:19)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
cd: no such file or directory: /npm

我不得不删除我的节点和npm文件

卸载并重新安装我遵循的指令在这里(stackoverflow):

如何完全卸载Node.js,并从头开始重新安装(Mac OS X)

然后,我跟着兔子小道一路走过每一个问题!

不要在第一次出现摩擦时立即跳转到SO(stackoverflow),命令窗口(cli)将"奇怪地"给你一切正确的答案(但是我做了大约2个障碍,我提到了SO,主要是为了安全起见)。

  • 通过Install Node.js和npm with Homebrew进行node,npm和grunt的安装。

- 我遇到了一些摩擦与python框架文件在一个地方,使自制软件抛出警告解决方案。

- 和我自己在这里写的小桶链接警告解决了。

  • 然后当我需要运行时:brew install node

- 我有另一个brew link issue,很容易,因为我上面的小桶链接警告只需要再次走过,所以我想。
然后我得到一个错误,说我不能brew link --overwrite node那个文件(特权或者其他东西,如果我记得,这里解决的是非常少)。

最后

  • 在这一点上,一切都运作良好。
    - 记住!我之间有简单的步骤,我只是遵循cli中的命令提示,例如:

  • brew希望我通过给定的路径删除文件:

- 打开取景器> [在MacBook"监视工具栏顶部"]转到>转到文件夹...>复制并粘贴brew在cli窗口中提供的路径>它会找到导演/文件然后删除相应的目录/文件

- 继续这些步骤,直到brew update完全满足。

  • 正如我所说,最后一部分只是简单地跟随酿造反应的方向直接。

  • 我希望这个演练可以帮助有人绕过我加快的问题,并感谢那些花时间帮助我解决我在这个答案中所链接的解决方案的社区。

  • 不要为溢出的代码而哭泣,继续支持社区。