未捕获错误:模块未自行注册

Ale*_*had 82 javascript node.js node-webkit node-ffi

我尝试将node-vlc与nw.js(v0.12.0-alpha2)一起使用.当我启动我的应用程序没有nw.js它工作,但当我用nw.js启动它时,我收到一个错误:

未捕获的错误:模块没有自行注册.",来源:/home/alexis/Bureau/dev/jukebox/node_modules/vlc/node_modules/ffi/node_modules/bindings/bindings.js(84)

我用nw-gyp尝试了一些命令,但它无法帮助我.我在Ubuntu 14,64位.

Div*_*com 145

如果您已升级节点,则npm rebuild可能会为您解决此问题

  • 对我不起作用,但`rm -r node_modules`然后`npm install`完成了这项工作 (8认同)
  • 你应该运行这个_without_ sudo,除非你知道你确实需要root访问权限.除非您正在处理全局安装的模块(通常不鼓励使用),否则您不应该需要root用户. (3认同)

Tha*_*afa 45

对我来说: rm -r node_modules那么 npm install


joe*_*wen 13

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

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

nvm use 0.10.26
Run Code Online (Sandbox Code Playgroud)

或者将默认版本设置为0.10.26

nvm alias default 0.10.26
Run Code Online (Sandbox Code Playgroud)

希望这能帮到你 - 我们的问题来自不同的产品,但解决方案可能是相同的.


Aio*_*ion 9

我有类似的问题.

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

在我的情况下,我正在做一个C/C++插件,我忘了导出插件,在我的main.cc中缺少下面的代码:

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

NODE_MODULE(method, Init);
Run Code Online (Sandbox Code Playgroud)

希望这有助于他人!谢谢 :)