J'essaie d'utiliser node-vlc avec nw.js (v0.12.0-alpha2). Quand je lance mon application sans nw.js, cela fonctionne, mais quand je le lance avec nw.js, j'ai une erreur:
Erreur non capturée: le module ne s'est pas auto-enregistré. ", Source: /home/alexis/Bureau/dev/jukebox/node_modules/vlc/node_modules/ffi/node_modules/bindings/bindings.js (84)
J'ai essayé quelques commandes avec nw-gyp mais cela ne pouvait pas m'aider ..__ Je suis sur Ubuntu 14, 64-bit.
Si vous avez mis à niveau un nœud alors npm rebuild
pourrait résoudre ce problème
Pour moi: rm -r node_modules
puis npm install
J'ai eu un problème similaire avec un autre produit et mon correctif consistait à changer la version du noeud que j'utilisais. J'utilisais 0.12.0
et je suis redevenu 0.10.26
.
Personnellement, j'utilise NVM pour gérer le changement de version de nœud. Avec NVM, c'est aussi simple que d'exécuter
nvm use 0.10.26
Ou définir la version par défaut à 0.10.26
nvm alias default 0.10.26
Espérons que cela vous aide - nos problèmes proviennent de produits différents mais la solution peut être la même.
J'ai eu le même problème.
/Users/user/NodeAddons/bridge/node_modules/bindings/bindings.js:83 Erreur: le module ne s'est pas auto-enregistré.
Dans mon cas, je faisais un add-on C/C++ et j'avais oublié d'exporter l'add-on, dans mon main.cc manquait le code ci-dessous:
void Init(v8::Handle<v8::Object> exports) {
NODE_SET_METHOD(exports, "method", method);
}
NODE_MODULE(method, Init);
J'espère que cela aide les autres! Merci :)
Pour moi, exécuter npm update
a fonctionné
J'ai eu ce même problème avec 0.12 et io.js 1.3.0, revenir à Node.js 0.10 résolu le problème.
Pour moi, npm rebuild
ou npm update
n'a pas fonctionné. J'ai dû supprimer le dossier node_modules
et exécuter npm install
pour les réinstaller.
J'ai déjà eu ce problème lors de la création d'un addon multi-fichiers c ++. Dans mon fichier binding.gyp j'avais:
"sources": ["src/*.cc", "src/*.h" ]
Et mon projet contenait plusieurs fichiers * .cc. Toutefois, la macro NODE_MODULE () n'a été appelée que sur un fichier ayant importé le reste des fichiers. Mais node s'attend à ce qu'il soit appelé dans le fichier frist * .cc indiqué dans les sources. J'ai donc dû changer de source pour ajouter explicitement ce fichier au début
J'ai ajouté le même problème parce que j'ai installé des modules en tant que Sudo ... La suppression du dossier des modules de noeud et sa réinstallation en tant qu'utilisateur normal l'ont corrigé.
J'ai eu le même problème. Mon script qui faisait référence à un script de référence global avait une référence non valide. J'ai enlevé cette référence invalide et l'erreur a disparu. Mon message d'erreur n'indiquait pas cette référence invalide particulière rendant le débogage plus difficile. Mais «Erreur non capturée: le module ne s'est pas auto-enregistré» était le message que je recevais.
Cela se produit également dans mon autre projet. Pour une raison quelconque, le chemin de référence ne serait pas reconnu si l'un des caractères était en majuscule. Même pensé, la partie supérieure était la bonne orthographe du chemin.
je faisais également face au même problème et celui-ci a fonctionné pour moi.
vous devez aller dans le module_noeud/et configurer la cible nw-gyp en suivant la commande
$ nw-gyp configure --target=0.12.3
puis
$ nw-gyp build
et cela a fonctionné pour moi. Si vous obtenez la commande nw-gyp introuvable, utilisez
npm install nw-gyp