Vscode: تعطل المصحح - "خطأ: تم تجميع الوحدة النمطية '/bcrypt_lib.node' مقابل إصدار Node.js مختلف ..."

تم إنشاؤها على ١٢ ديسمبر ٢٠١٨  ·  3تعليقات  ·  مصدر: microsoft/vscode

وحدات المعالجة المركزية

| Intel (R) Core (TM) i7-8650U CPU @ 1.90 جيجاهرتز (8 × 816)
- | -

حالة 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

تحميل (متوسط) | 1 ، 1 ، 1

الذاكرة (النظام) | 15.42 جيجابايت (4.06 جيجابايت مجانًا)

عملية Argv | --تعطيل 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 بإصدارات مختلفة (تُدرج الحزمة json "node": "10.13.0", )
  3. npm rebuild

لا يحدث الخطأ عند إنشاء التطبيق وعرضه خارج مصحح أخطاء vscode - فالخطأ فريد لمصحح الأخطاء.

هل تحدث هذه المشكلة عند تعطيل كافة الملحقات ؟: نعم

debug

ال 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 لا يستخدم متغير بيئة لهذا ولكن دالة shell بدلاً من ذلك ؛ راجع https: // stackoverflow .com / الأسئلة / 44700432 / visual-studio-code-to-use-node-version-selected-by-nvm).

تتمثل الطريقة الأكثر وضوحًا (وبالتالي موصى بها) في استخدام إضافة "runtimeVersion": "8.1.0" إلى تهيئة الإطلاق.


لا أعرف ما إذا كانت npm rebuild كافية لإعادة إنشاء وحدة نمطية مقابل إصدار آخر من العقدة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات