update nodejs node home certificacion and node.js npm version node-modules

nodejs - Nodo: se compiló con una versión diferente de Node.js usando NODE_MODULE_VERSION 51



npm node js (22)

Acabo de recibir este error al ejecutar kadence el script "kadence" instalado comprueba primero nodejs y solo ejecuta node si no hay nodejs. Tengo la última versión del nodo vinculada a mi directorio ~ / bin pero nodejs ejecuta una versión anterior que olvidé desinstalar pero que nunca causó problemas hasta ahora.

Entonces, las personas con este problema podrían verificar si node y nodejs realmente ejecutan la misma versión del nodo ...

Estoy ejecutando una aplicación de nodo en la terminal. Recientemente me actualicé al nodo v8.5.0, pero recibo este error:

Error: The module ''/tidee/tidee-au/packages/tidee-au-server/node_modules/bcrypt/lib/binding/bcrypt_lib.node'' was compiled against a different Node.js version using NODE_MODULE_VERSION 51. This version of Node.js requires NODE_MODULE_VERSION 57. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`). at Object.Module._extensions..node (module.js:653:18) at Module.load (module.js:545:32) at tryModuleLoad (module.js:508:12) at Function.Module._load (module.js:500:3) at Module.require (module.js:568:17) at require (internal/module.js:11:18) at Object.<anonymous> (/tidee/tidee-au/packages/tidee-au-server/node_modules/bcrypt/bcrypt.js:6:16) at Module._compile (module.js:624:30) at Module._extensions..js (module.js:635:10) at Object.require.extensions.(anonymous function) [as .js] (/tidee/tidee-au/packages/tidee-au-server/node_modules/babel-register/lib/node.js:152:7) at Module.load (module.js:545:32) at tryModuleLoad (module.js:508:12) at Function.Module._load (module.js:500:3) at Module.require (module.js:568:17) at require (internal/module.js:11:18) at Object.<anonymous> (/tidee/tidee-au/packages/tidee-au-server/server/helpers/encryptPass.js:1:16)

Alguna idea de como resolver esto?


Asegúrese de tener solo una versión de NodeJS instalada. Prueba estos dos:

node --version sudo node --version

Inicialmente instalé NodeJS desde la fuente, pero era la versión incorrecta y ''actualicé'' a la versión más nueva usando nvm , que no elimina ninguna versión anterior, y solo instala la versión deseada en /root/.nvm/versions/... directorio. Entonces sudo node todavía apuntaba a la versión anterior, mientras que node apuntaba a la versión más nueva.


Debe eliminar la carpeta del módulo ( bcrypt ) de la carpeta node_modules y reinstalarla, use los siguientes comandos:

$ rm -rf node_modules/bcrypt $ npm install // or $ yarn


Después de probar cosas diferentes. Esto funcionó.

Elimine la carpeta de módulos de nodo y ejecute

npm i


En mi caso, estaba ejecutando nodejs lugar de node . Debido a que el administrador de paquetes está instalando nodejs :

# which node /home/user/.nvm/versions/node/v11.6.0/bin/node # which nodejs /usr/bin/nodejs


En mi caso, estaba en el proxy de mi oficina, que estaba omitiendo algunos de los paquetes. Cuando salí del proxy de mi oficina e intenté npm install , funcionó. Quizás esto ayude a alguien.

Pero me llevó varias horas identificar que esa era la razón.


Enfrenté el mismo problema con el módulo grpc y en mi caso, estaba usando electron y configuré una versión electrónica incorrecta en la variable env "export npm_config_target = 1.2.3", configurándola en la versión electrónica que estoy usando resolvió el problema en mi fin. Espero que esto ayude a alguien que establece las variables env como se indica aquí ( https://electronjs.org/docs/tutorial/using-native-node-modules#the-npm-way )


Lo más probable es que tenga este problema debido al paquete-lock.json. De alguna manera, parece que le npm rebuild a compilar o reconstruir sus dependencias, incluso si ejecuta explícitamente npm rebuild . Ejecuté todo lo siguiente para solucionarlo:

rm package-lock.json; rm -rf node_modules; npm install;


Ninguno de ellos funcionó para mí pero esto:

npm install npm start


Potencialmente, la inconsistencia de las versiones del nodo JS es lo que causa el problema. Como se indica en la documentación . Asegúrese de usar uno de los lanzamientos de lts. Por ejemplo, especifique esto en su Dockerfile:

# Pull lts from docker registry FROM node:8.12.0 # ...


Puede eliminar bcrypt por completo e instalar bcryptjs. Es ~ 30% más lento, pero no tiene dependencias, por lo que no le cuesta instalarlo.

npm i -S bcryptjs && npm uninstall -S bcrypt

Lo hemos instalado con éxito para nuestras aplicaciones. Tuvimos problemas con bcrypt que no se compilaba en instancias de AWS para el Nodo v8.x


Recibí el mismo error pero estaba tratando de ejecutar una aplicación de nodo usando un contenedor Docker.

Lo arreglé agregando un archivo .dockerignore para ignorar el directorio node_modules para asegurarme de que cuando se construye la imagen del docker, se compilan los paquetes nativos para la imagen que quería (Alpine) en lugar de copiar sobre los node_modules compilados para mi host (Debian) .


Recibí este error al ejecutar mi aplicación con systemd:

ExecStart=/usr/local/bin/node /srv/myapp/server.js

Pero estaba usando una versión diferente para la npm install en el shell:

$ which node /home/keith/.nvm/versions/node/v8.9.0/bin/node

Si esta es su configuración, puede codificar la versión del nodo en el archivo de servicio o seguir una solución como esta .


Simplemente ejecute:

npm uninstall bcrypt

Seguido por:

npm install bcrypt (o npm install , si bcrypt se declara como dependencia en su archivo package.json )


Tienes que reconstruir el paquete y decirle a npm que actualice también es binario . Tratar:

npm rebuild bcrypt --update-binary

@robertklep respondió una pregunta relativa con este comando, look .

Solo la reconstrucción no ha resuelto mi problema, esto funciona bien en mi aplicación.

¡Espero eso ayude!


Tuve el mismo problema y nada de lo mencionado aquí funcionó para mí. Esto es lo que funcionó para mí:

  1. Requerir todas las dependencias que necesita en el archivo main.js que se ejecuta por electron. (Esta parecía ser la primera parte importante para mí)
  2. Ejecute npm i -D electron-rebuild para agregar el paquete electron-rebuild
  3. Elimine la carpeta node-modules , así como el archivo packages-lock.json .
  4. Ejecute npm i para instalar todos los módulos.
  5. Ejecute ./node_modules/.bin/electron-rebuild para reconstruir todo

Es muy importante ejecutar ./node_modules/.bin/electron-rebuild directamente después de npm i contrario, no funcionó en mi Mac.

Espero poder ayudar a algunas almas frustradas.


Tuve el mismo problema y ninguna de estas soluciones funcionó y no sé por qué, en el pasado funcionaron para mí por problemas similares.

De todos modos para resolver el problema, acabo de reconstruir manualmente el paquete usando node-pre-gyp

cd node_modules/bcrypt node-pre-gyp rebuild

Y todo funcionó como se esperaba.

Espero que esto ayude


Tuve un problema similar con robotjs. Había algún código obsoleto que requería el nodo v11, pero ya había compilado el código electrónico en la v12. Entonces obtuve básicamente el mismo error. Nada funcionó aquí, ya que básicamente estaba tratando de reconstruir el electrón y mis otras dependencias en el nodo v11 desde la v12.

Esto es lo que hice (parte de esto se basa en la respuesta de Chitzui, crédito donde se debe):

  • Copia de seguridad de package.json
  • eliminar completamente la carpeta node_modules
  • eliminar completamente package_lock.json
  • eliminar package.json (se reiniciará más tarde)
  • Cierre todos los editores abiertos y otras ventanas de cmd que se encuentren en el directorio del proyecto.
  • ejecute npm init para reiniciar el paquete, luego faltan datos con el antiguo paquete respaldado.json
  • ejecutar npm i
  • fijo :)

Espero que esto ayude.


Verifique la versión del nodo que está utilizando, podría ser una discrepancia entre lo que se espera.


ejecute npm config set python python2.7 y ejecute npm install nuevamente la fiesta está encendida.


puedes ver este link

para verificar su nodo verison a la derecha. usar NODE_MODULE_VERSION 51 significa que la versión de su nodo es nodejs v7.x, requiere NODE_MODULE_VERSION 57 significa que necesita actualizar su nodo a v8.x, por lo que necesita actualizar su nodo. y luego necesita ejecutar el comando npm rebuild para reconstruir su proyecto


npm rebuild bcrypt --update-binary

Tengo el mismo paquete prometedor pero diferente, ejecuto este código y lo trato