未被捕获的错误:模块没有自注册
我试着用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 rebuild
或npm 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文件被调用。 所以我不得不改变源代码,以明确地将该文件添加到开始