Vscode: Fallo del depurador: "Error: el módulo '/bcrypt_lib.node' se compiló con una versión de Node.js diferente ..."

Creado en 12 dic. 2018  ·  3Comentarios  ·  Fuente: microsoft/vscode

CPU

| CPU Intel (R) Core (TM) i7-8650U a 1,90 GHz (8 x 816)
- | -

Estado de la GPU

| 2d_canvas: unavailable_softwarechecker_imaging: disabled_offflash_3d: unavailable_softwareflash_stage3d: unavailable_softwareflash_stage3d_baseline: unavailable_softwaregpu_compositing: unavailable_softwaremultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: unavailable_softwarevideo_decode: unavailable_softwarevideo_encode: unavailable_softwarewebgl: enabled_readbackwebgl2: unavailable_off

Carga (promedio) | 1, 1, 1

Memoria (sistema) | 15,42 GB (4,06 GB gratis)

Process Argv | --disable-gpu

Lector de pantalla | no

VM | 0%

Versión: 1.29.1
Confirmar: bc24f98b5f70467bc689abf41cc5550ca637088e
Fecha: 2018-11-15T19: 07: 43.495Z
Electrón: 2.0.12
Cromo: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Arquitectura: x64

Pasos para reproducir:

  1. Tener un servidor de nodo usando el módulo bcrypt
  2. Intente utilizar el depurador con la siguiente configuración;

    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}/build/index.js",
            "preLaunchTask": "tsc: build - tsconfig.json",
            "outFiles": [
                "${workspaceFolder}/build/**/*.js"
            ]
        }
    ]
}
  1. Tenga en cuenta el siguiente error:
module.js:682
  return process.dlopen(module, path._makeLong(filename));
                 ^
Error: The module '/home/calebjay/Documents/work/internal-admin/node_modules/bcrypt/lib/binding/bcrypt_lib.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. 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`).

He intentado

  1. rm -rf node_modules seguido de npm install
  2. nvm use con varias versiones (el package.json enumera "node": "10.13.0", )
  3. npm rebuild

El error no ocurre cuando la aplicación se crea y se sirve fuera del depurador de vscode; el error es exclusivo del depurador.

¿Ocurre este problema cuando todas las extensiones están deshabilitadas ?: Sí

debug

Todos 3 comentarios

@ komali2
¿Cuál es su versión predeterminada de node.js?
ejecute node --version fuera de VS Code y dentro de la terminal integrada de VS Code.
¿Ves la misma versión en ambos casos?

Si está usando "nvm" o "nvs", puede agregar "runtimeVersion": "x.y.z" a su configuración de lanzamiento para que VS Code use una versión específica de node.js.

Oh, ya veo, no lo había considerado.

npm version dentro del terminal VSCode integrado está 10.13.0 , y dentro de mi terminal real estaba 8.1... algo. Entonces, fuera de vscode lo hice

nvm use 10.13.0

npm rebuild

Luego, probé dentro de vscode para usar el depurador, sin embargo, sigo recibiendo el siguiente error:

was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing

Esto probablemente no sea un error de VSCODE, ahora que veo que hay una diferencia en las versiones de la terminal. Gracias de todos modos por tu ayuda. Estoy un poco confundido ... No tengo idea de qué versiones de nodo mapear contra NODE_MODULE_VERSION 64 o 57 , nunca los he visto referidos de esa manera ...

Si usa nvm, tendrá que asegurarse de que VS Code recoja la versión del nodo de nvm (esto no es tan simple como parece porque nvm no usa una variable de entorno para esto, sino una función de shell en su lugar; consulte https: // stackoverflow .com / questions / 44700432 / visual-studio-code-to-use-node-version-specified-by-nvm).

Un enfoque más explícito (y por lo tanto mi recomendado) es usar agregar "runtimeVersion": "8.1.0" a la configuración de lanzamiento.


No sé si un npm rebuild es suficiente para reconstruir un módulo nativo contra otra versión del nodo.

¿Fue útil esta página
0 / 5 - 0 calificaciones