未被捕获的错误:模块没有自注册

我试着用nw.js(v0.12.0-alpha2)来使用node-vlc。 当我启动我的应用程序没有nw.js它的作品,但是当我启动与nw.js我得到一个错误:

Uncaught Error:Module did not self-register。“,来源:/home/alexis/Bureau/dev/jukebox/node_modules/vlc/node_modules/ffi/node_modules/bindings/bindings.js(84)

我用nw-gyp尝试了一些命令,但是它不能帮助我。 我在Ubuntu 14,64位。

如果你已经升级节点,那么npm rebuild可能会为你解决这个问题

对我来说: rm -r node_modules然后npm install

我与另一个产品有类似的问题,我的修复是改变我使用的节点的版本。 我正在使用0.12.0并改回0.10.26

就我个人而言,我使用NVM来处理节点版本更改。 安装NVM就像运行一样简单

 nvm use 0.10.26 

或者将默认版本设置为0.10.26

 nvm alias default 0.10.26 

希望这可以帮助你 – 我们的问题来自不同的产品,但解决scheme可能是相同的。

我有类似的问题。

/Users/user/NodeAddons/bridge/node_modules/bindings/bindings.js:83错误:模块没有自注册。

在我的情况下,我正在做一个C / C ++的附加组件,我忘记了导出附加组件,在我的main.cc中是缺less下面的代码:

 void Init(v8::Handle<v8::Object> exports) { NODE_SET_METHOD(exports, "method", method); } NODE_MODULE(method, Init); 

希望这可以帮助别人! 谢谢 :)

对我来说,运行npm update工作

我有0.12和io.js 1.3.0相同的问题,恢复到Node.js 0.10固定的问题。

我已经添加相同的问题,因为我安装到模块作为sudo …删除节点模块文件夹,并重新安装正常的用户修复它。

对我来说, npm rebuildnpm update不起作用。 我不得不删除node_modules文件夹并运行npm install来再次安装它们。

苹果电脑:

对我来说,下面的操作工作:node v0.12.2

 npm rebuild rm -rf node_modules npm i 

我也面临同样的问题,这一个为我工作。

您需要进入node_module /并通过以下命令configurationnw-gyp目标

 $ nw-gyp configure --target=0.12.3 

然后

 $ nw-gyp build 

这对我有用。 如果你没有findnw-gyp命令,那么使用

 npm install nw-gyp 

我创build多文件c ++插件时曾遇到过这个问题。 在我的binding.gyp文件中,我有:

 "sources": ["src/*.cc", "src/*.h" ] 

而我的项目包含了几个* .cc文件。 但是,NODE_MODULE()macros仅在一个导入其余文件的文件上被调用。 但是,节点期望在源文件中列出的第一个 * .cc文件被调用。 所以我不得不改变源代码,以明确地将该文件添加到开始