错误:找不到模块“南”

我正在研究本地的Node.js插件和下面的nan文档

我将nan包含在binding.gyp中,如: "include_dirs" : [ "<!(node -e \"require('nan')\")" ]

另外nan是在npm的依赖关系。

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

 > nnb@1.0.2 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 

不理想,但它的工作原理,如果你先安装南。

 $ npm install nan 

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

 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.<anonymous> (/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文件

卸载并重新安装指令我跟着在这里(计算器):

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

然后我就一路追踪着兔子踪迹!

在第一个摩擦迹象时不要马上跳到SO(stackoverflow),命令窗口(cli)会“足够奇怪”给你所有的正确答案(不pipe怎么说,我已经碰到了2个关于SO的主要问题,主要是为了安全起见)。

  • 通过安装Node.js和npm与Homebrew来安装 node,npm,&grunt。

– 我遇到了一个python框架文件的一些摩擦,在一个让自制软件抛出警告的地方。

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

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

– 我有另外一个brew link issue ,很容易,因为我上面的小桶链接警告的写法只需要再次走一遍,所以我想。 然后我得到一个错误,说我不能brew link --overwrite node该文件(特权或如果我记得, 在这里没有更多的解决 )。

最后

  • 正是在这一点上,一切运作良好。 – 记住! 中间有一些简单的步骤,我简直就是服从命令提示符,比如:

  • brew想要我通过给定的path删除文件:

打开取景器> [在MacBook“监视器工具栏”顶部] Go>进入文件夹…>在cli窗口中复制并粘贴由brew提供的path>它将finddirector / file,然后删除相应的目录/文件

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

  • 正如我所说的,直接从brew响应的方向来看,这个最后的部分是简单的。

  • 我希望这个演练可以帮助人们绕过我有点快的问题,并且感谢那些花时间帮助我解决这个问题的社区。

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