Error no detectado: el módulo no se registró automáticamente


92

Intento usar node-vlc con nw.js (v0.12.0-alpha2). Cuando ejecuto mi aplicación sin nw.js, funciona, pero cuando la ejecuto con nw.js, aparece un error:

Error no detectado: el módulo no se registró automáticamente. ", Fuente: /home/alexis/Bureau/dev/jukebox/node_modules/vlc/node_modules/ffi/node_modules/bindings/bindings.js (84)

Probé algunos comandos con nw-gyp pero no pudo ayudarme. Estoy en Ubuntu 14, 64 bits.


6
Considere marcar la respuesta de Omar. Eso resolvió el problema.
Ionică Bizău

Respuestas:


154

Si ha actualizado el nodo, entonces npm rebuildpodría solucionarlo por usted


3
Definitivamente debería ejecutar esto sin sudo a menos que sepa que realmente necesita acceso de root. No debería necesitar root a menos que esté tratando con módulos instalados globalmente (lo que generalmente no se recomienda).
gfxmonk

8
No funcionó para mí, pero rm -r node_modulesluego npm install hizo el trabajo
Spc_555

1
No sólo se limita a actualizar, también trabajo en el caso de volver a instalar la NGP y el nodo, etc.
Kevin

Esto realmente no responde a la pregunta. ¿Cuál es el problema? Recibo este error al cargar el módulo 'usb' de un trabajador web en electronJS. No tengo idea de lo que significa, ¿puede explicar cuál es el problema?
PeterT


17

Tuve un problema similar con otro producto y mi solución fue cambiar la versión del nodo que estaba usando. Estaba usando 0.12.0y volví a cambiar a 0.10.26.

Personalmente, uso NVM para manejar el cambio de versión de nodo. Con NVM instalado, es tan simple como ejecutar

nvm use 0.10.26

O estableciendo la versión predeterminada en 0.10.26

nvm alias default 0.10.26

Esperamos que esto te ayude: nuestros problemas provienen de diferentes productos, pero la solución puede ser la misma.


Esta solución me ayudó cuando estaba ejecutando paquetes globales pero quería ejecutar paquetes locales con una nueva versión de nodo. Solo tiene que cambiar de versión cuando ejecuté comandos globales.
Collin Price

9

Tuve un problema similar.

/Users/user/NodeAddons/bridge/node_modules/bindings/bindings.js:83 Error: el módulo no se registró automáticamente.

En mi caso, estaba haciendo un complemento de C / C ++ y me había olvidado de exportar el complemento, en mi main.cc faltaba el siguiente código:

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

NODE_MODULE(method, Init);

¡Espero que esto ayude a otros! Gracias :)


Me alegro por ti (Y): D
Aion

3

Una vez tuve este problema al crear un complemento de c ++ de varios archivos. En mi archivo binding.gyp tenía:

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

Y mi proyecto contenía varios archivos * .cc. Sin embargo, la macro NODE_MODULE () se llamó solo en un archivo que importó el resto de los archivos. Pero el nodo espera que se le llame en el primer archivo * .cc listado en las fuentes. Entonces tuve que cambiar las fuentes para agregar explícitamente ese archivo al principio


2

Para mí, correr npm updatefuncionó


Puede, pero solo si el paquete está desactualizado. También hace algo más de lo solicitado. npm rebuildo rm -rf node_modules && npm ies la respuesta correcta.
Albin

1

Tuve este mismo problema con 0.12 y io.js 1.3.0, volviendo a Node.js 0.10 solucionó el problema.


1

Agregué el mismo problema porque instalé los módulos como sudo ... Eliminando la carpeta de módulos del nodo y reinstalando como usuario normal lo solucionó.


1
Perfecto. Cambié la propiedad de la carpeta usando chown y la reinstalé con npm sin sudo. Funcionó.
Asheesh

1

Para mí npm rebuildo npm updateno funcionó. Tuve que eliminar la node_modulescarpeta y ejecutar npm installpara instalarlos nuevamente.


0

Yo tuve el mismo problema. Mi secuencia de comandos que hacía referencia a una secuencia de comandos de referencia global tenía una referencia no válida. Quité esa referencia inválida y el error desapareció. Mi mensaje de error no tenía ninguna indicación de esa referencia inválida en particular que dificultaba la depuración. Pero 'Error no detectado: el módulo no se registró automáticamente' era el mensaje que recibía.

Esto también pasó en mi otro proyecto. Por alguna razón, no reconocería la ruta de referencia si uno de los caracteres está en mayúsculas. Incluso pensando, la mayúscula era la ortografía correcta del camino.


-1

También estaba enfrentando el mismo problema y este funcionó para mí.

debe ir al node_module / y configurar el objetivo nw-gyp siguiendo el comando

$ nw-gyp configure --target=0.12.3 

luego

$ nw-gyp build

y esto funcionó para mí. Si no encuentra el comando nw-gyp, utilice

npm install nw-gyp
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.