Vscode: Сбой отладчика - «Ошибка: модуль '/bcrypt_lib.node' был скомпилирован для другой версии Node.js ...»

Созданный на 12 дек. 2018  ·  3Комментарии  ·  Источник: microsoft/vscode

Процессоры

| Процессор Intel (R) Core (TM) i7-8650U @ 1,90 ГГц (8 x 816)
- | -

Состояние графического процессора

| 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

Нагрузка (средн.) | 1, 1, 1

Память (система) | 15,42 ГБ (4,06 ГБ бесплатно)

Обработка Аргв | --disable-gpu

Читатель экрана | нет

VM | 0%

Версия: 1.29.1
Фиксация: bc24f98b5f70467bc689abf41cc5550ca637088e
Дата: 2018-11-15T19: 07: 43.495Z
Электрон: 2.0.12
Хром: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Архитектура: x64

Действия по воспроизведению:

  1. Иметь сервер узла, использующий модуль bcrypt
  2. Попробуйте использовать отладчик со следующими настройками;

    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}/build/index.js",
            "preLaunchTask": "tsc: build - tsconfig.json",
            "outFiles": [
                "${workspaceFolder}/build/**/*.js"
            ]
        }
    ]
}
  1. Обратите внимание на следующую ошибку:
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`).

Я пытался

  1. rm -rf node_modules за которым следует npm install
  2. nvm use с различными версиями (в package.json перечислены "node": "10.13.0", )
  3. npm rebuild

Ошибка не возникает, когда приложение создается и обслуживается вне отладчика vscode - ошибка уникальна для отладчика.

Возникает ли эта проблема, когда все расширения отключены ?: Да

Все 3 Комментарий

@ komali2
Какая у вас версия node.js по умолчанию?
запустить node --version вне VS Code и внутри встроенного терминала VS Code.
Вы видите одну и ту же версию в обоих случаях?

Если вы используете «nvm» или «nvs», вы можете добавить "runtimeVersion": "x.y.z" в конфигурацию запуска, чтобы VS Code использовал определенную версию node.js.

О, понятно, я не подумал об этом.

npm version внутри интегрированного терминала VSCode - 10.13.0 , а внутри моего фактического терминала было что-то 8.1... . Итак, вне vscode я сделал

nvm use 10.13.0

npm rebuild

Затем я попытался использовать отладчик внутри vscode, однако по-прежнему получаю следующую ошибку:

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

Вероятно, это не ошибка VSCODE, теперь, когда я вижу разницу в версиях терминала. В любом случае спасибо за вашу помощь. Я немного сбит с толку ... Я понятия не имею, какие версии узла сопоставлять с NODE_MODULE_VERSION 64 или 57 , я никогда не видел, чтобы они так назывались ...

Если вы используете nvm, вам нужно будет убедиться, что VS Code использует версию узла nvm (это не так просто, как кажется, потому что nvm не использует для этого переменную среды, а вместо этого использует функцию оболочки; см. Https: // stackoverflow .com / questions / 44700432 / visual-studio-code-to-use-node-version-specified-by-nvm).

Более явный (и поэтому я рекомендую) подход - использовать добавление "runtimeVersion": "8.1.0" в конфигурацию запуска.


Я не знаю, достаточно ли npm rebuild для пересборки собственного модуля для другой версии узла.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги