جاوااسکریپت - خطای غیرمنتظره: ماژول خود را ثبت نکرد


من سعی میکنم از node-vlc با nw.js (نسخه 0.12.0-alpha2) استفاده کنم. وقتی برنامهام را بدون nw.js اجرا میکنم، کار میکند، اما وقتی با nw.js اجرا میکنم، یک خطا میگیرم:

خطای برخورد نکرده: ماژول خودش را ثبت نکرد."، منبع: /home/alexis/Bureau/dev/jukebox/node_modules/vlc/node_modules/ffi/node_modules/bindings/bindings.js (84)

من چند دستور با nw-gyp امتحان کردم اما به من کمک نکرد. من روی اوبونتو ۱۴، ۶۴ بیتی هستم.

پاسخ شماره ۱

اگر Node را بهروزرسانی کردهاید، npm rebuild ممکن است این مشکل را برای شما حل کند

پاسخ شماره ۲

برای من: rm -r node_modules سپس npm install

پاسخ شماره ۳

من مشکل مشابهی با یک محصول دیگر داشتم و راه حل من تغییر نسخه نودی بود که استفاده میکردم. من از 0.12.0 استفاده میکردم و به 0.10.26 بازگشتم.

من شخصاً از NVM برای مدیریت تغییر نسخهی نود استفاده میکنم. با نصب NVM، این کار به سادگی اجرای

nvm use 0.10.26

یا تنظیم نسخه پیشفرض به ۰.۱۰.۲۶

nvm alias default 0.10.26

امیدوارم این به شما کمک کند - مشکلات ما از محصولات مختلف بود اما راه حل ممکن است یکسان باشد.

پاسخ شماره ۴

من مشکل مشابهی داشتم.

/Users/user/NodeAddons/bridge/node_modules/bindings/bindings.js:83 خطا: ماژول خودش را ثبت نکرده است.

در مورد من، من در حال ساخت یک افزونه C/C++ بودم و فراموش کرده بودم افزونه را صادر کنم، در فایل main.cc من کد زیر وجود نداشت:

void Init(v8::Handle<v8::Object> exports) {
  NODE_SET_METHOD(exports, "method", method);
}

NODE_MODULE(method, Init);

امیدوارم این به دیگران کمک کند! ممنون :)