Errore non rilevato: il modulo non si è registrato automaticamente


92

Provo a usare node-vlc con nw.js (v0.12.0-alpha2). Quando avvio la mia app senza nw.js funziona, ma quando la lancio con nw.js ho ricevuto un errore:

Errore non rilevato: il modulo non si è registrato automaticamente. ", Fonte: /home/alexis/Bureau/dev/jukebox/node_modules/vlc/node_modules/ffi/node_modules/bindings/bindings.js (84)

Ho provato alcuni comandi con nw-gyp ma non è stato possibile aiutarmi. Sono su Ubuntu 14, 64 bit.


6
Per favore, considera di segnare la risposta di Omar. Questo ha risolto il problema.
Ionică Bizău

Risposte:


154

Se hai aggiornato il nodo, npm rebuildpotresti risolvere il problema per te


3
Dovresti assolutamente eseguirlo senza sudo a meno che tu non sappia di aver effettivamente bisogno dell'accesso root. Non dovresti aver bisogno di root a meno che tu non abbia a che fare con moduli installati a livello globale (che è generalmente sconsigliato).
gfxmonk

8
Non ha funzionato per me, ma rm -r node_modulespoi npm install ha funzionato
Spc_555

1
Non solo limitato all'aggiornamento, funziona anche in caso di reinstallazione di npm e nodo, ecc.
Kevin

Questo non risponde davvero alla domanda. Qual è il problema? Ricevo questo errore durante il caricamento del modulo "usb" da un web worker in electronJS. Non ho idea di cosa significhi, puoi spiegare qual è il problema?
PeterT


17

Ho avuto un problema simile con un altro prodotto e la mia soluzione è stata quella di cambiare la versione del nodo che stavo utilizzando. Stavo usando 0.12.0e sono tornato a 0.10.26.

Personalmente, utilizzo NVM per gestire il cambio di versione del nodo. Con NVM installato è semplice come correre

nvm use 0.10.26

Oppure impostando la versione predefinita su 0.10.26

nvm alias default 0.10.26

Speriamo che questo ti aiuti: i nostri problemi provenivano da prodotti diversi ma la soluzione potrebbe essere la stessa.


Questa correzione mi ha aiutato quando stavo eseguendo pacchetti globali ma volevo eseguire pacchetti locali con una nuova versione del nodo. Devo solo cambiare versione quando ho eseguito i comandi globali.
Collin Price

9

Ho avuto un problema simile.

/Users/user/NodeAddons/bridge/node_modules/bindings/bindings.js:83 Errore: il modulo non si è registrato automaticamente.

Nel mio caso stavo facendo un componente aggiuntivo C / C ++ e mi ero dimenticato di esportare il componente aggiuntivo, nel mio main.cc mancava il codice seguente:

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

NODE_MODULE(method, Init);

Spero che questo aiuti gli altri! Grazie :)


Felice per te (Y): D
Aion

3

Una volta ho avuto questo problema durante la creazione di un addon c ++ multi-file. Nel mio file binding.gyp avevo:

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

E il mio progetto conteneva diversi file * .cc. Tuttavia, la macro NODE_MODULE () è stata chiamata solo su un file che ha importato il resto dei file. Ma il nodo si aspetta che venga chiamato sul file frist * .cc elencato nei sorgenti. Quindi ho dovuto cambiare le fonti per aggiungere esplicitamente quel file all'inizio


2

Per me la corsa ha npm updatefunzionato


Può, ma solo se il pacchetto è obsoleto. Fa anche qualcos'altro rispetto a quanto richiesto. npm rebuildo rm -rf node_modules && npm iè la risposta corretta.
Albin

1

Ho avuto lo stesso problema con 0.12 e io.js 1.3.0, il ripristino di Node.js 0.10 ha risolto il problema.


1

Ho aggiunto lo stesso problema perché ho installato i moduli come sudo ... La rimozione della cartella dei moduli del nodo e la reinstallazione come utente normale lo hanno risolto.


1
Perfetto. Ho cambiato la proprietà della cartella usando chown e reinstallato con npm senza sudo. Ha funzionato.
Asheesh

1

Per me npm rebuildo npm updatenon ha funzionato. Ho dovuto rimuovere la node_modulescartella ed eseguire npm installdi nuovo l'installazione.


0

Ho avuto lo stesso problema. Il mio script che faceva riferimento a uno script di riferimento globale aveva un riferimento non valido. Ho tolto quel riferimento non valido e l'errore è sparito. Il mio messaggio di errore non aveva alcuna indicazione di quel particolare riferimento non valido che ha reso più difficile il debug. Ma "Errore non rilevato: il modulo non si è registrato automaticamente" era il messaggio che stavo ricevendo.

Questo accade anche nell'altro mio progetto. Per qualche motivo, non riconoscerebbe il percorso di riferimento se uno dei caratteri fosse maiuscolo. Anche pensato, il maiuscolo era l'ortografia corretta del percorso.


-1

anche io stavo affrontando lo stesso problema e questo ha funzionato per me.

devi andare in node_module / e configurare il target nw-gyp seguendo il comando

$ nw-gyp configure --target=0.12.3 

poi

$ nw-gyp build

e questo ha funzionato per me. Se ottieni il comando nw-gyp non trovato, usa

npm install nw-gyp
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.