Vscode: Debugger mogok - "Kesalahan: Modul '/bcrypt_lib.node' dikompilasi terhadap versi Node.js yang berbeda ..."

Dibuat pada 12 Des 2018  ·  3Komentar  ·  Sumber: microsoft/vscode

CPU

| Intel (R) Core (TM) i7-8650U CPU @ 1.90GHz (8 x 816)
- | -

Status 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

Muat (rata-rata) | 1, 1, 1

Memori (Sistem) | 15,42GB (4,06GB gratis)

Proses Argv | --disable-gpu

Pembaca Layar | tidak

VM | 0%

Versi: 1.29.1.0
Komit: bc24f98b5f70467bc689abf41cc5550ca637088e
Tanggal: 2018-11-15T19: 07: 43.495Z
Elektron: 2.0.12
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Arsitektur: x64

Langkah-langkah untuk Mereproduksi:

  1. Memiliki server node yang menggunakan modul bcrypt
  2. Coba gunakan debugger dengan pengaturan berikut;

    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}/build/index.js",
            "preLaunchTask": "tsc: build - tsconfig.json",
            "outFiles": [
                "${workspaceFolder}/build/**/*.js"
            ]
        }
    ]
}
  1. Perhatikan kesalahan berikut ini:
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`).

Saya telah berusaha

  1. rm -rf node_modules diikuti oleh npm install
  2. nvm use dengan berbagai versi (package.json mencantumkan "node": "10.13.0", )
  3. npm rebuild

Kesalahan tidak terjadi saat aplikasi dibuat dan disajikan di luar debugger vscode - kesalahan unik untuk debugger.

Apakah masalah ini terjadi saat semua ekstensi dinonaktifkan ?: Ya

debug

Semua 3 komentar

@ komali2
Apa versi node.js default Anda?
menjalankan node --version luar VS Code dan di dalam terminal terintegrasi VS Code.
Apakah Anda melihat versi yang sama di kedua kasus?

Jika Anda menggunakan "nvm" atau "nvs" Anda dapat menambahkan "runtimeVersion": "x.y.z" ke konfigurasi peluncuran Anda agar VS Code menggunakan versi tertentu dari node.js.

Oh begitu, saya tidak mempertimbangkan itu.

npm version di dalam terminal VSCode terintegrasi adalah 10.13.0 , dan di dalam terminal saya yang sebenarnya ada 8.1... sesuatu. Jadi, di luar vscode saya lakukan

nvm use 10.13.0

npm rebuild

Kemudian, saya mencoba di dalam vscode untuk menggunakan debugger, namun, saya masih mendapatkan kesalahan berikut:

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

Ini mungkin bukan bug VSCODE, sekarang saya melihat ada perbedaan dalam versi terminal. Terima kasih atas bantuan Anda. Saya agak bingung ... Saya tidak tahu versi node mana yang akan dipetakan terhadap NODE_MODULE_VERSION 64 atau 57 , saya belum pernah melihat mereka disebut seperti itu ...

Jika Anda menggunakan nvm, Anda harus memastikan bahwa VS Code mengambil versi node nvm (ini tidak sesederhana kelihatannya karena nvm tidak menggunakan variabel lingkungan untuk ini tetapi sebagai gantinya fungsi shell; lihat https: // stackoverflow .com / pertanyaan / 44700432 / visual-studio-code-to-use-node-version-ditentukan-oleh-nvm).

Pendekatan yang lebih eksplisit (dan karena itu saya rekomendasikan) adalah menggunakan menambahkan "runtimeVersion": "8.1.0" ke konfigurasi peluncuran.


Saya tidak tahu apakah npm rebuild cukup untuk membangun kembali modul asli terhadap versi node lain.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat