Câu hỏi Lỗi không bắt buộc: Mô-đun không tự đăng ký


Tôi cố gắng sử dụng node-vlc với nw.js (v0.12.0-alpha2). Khi tôi khởi chạy ứng dụng của mình mà không có nw.js, nó hoạt động, nhưng khi tôi khởi chạy nó với nw.js, tôi gặp lỗi:

Lỗi không bắt buộc: Mô-đun không tự đăng ký. ", Nguồn: /home/alexis/Bureau/dev/jukebox/node_modules/vlc/node_modules/ffi/node_modules/bindings/bindings.js (84)

Tôi đã thử một số lệnh với nw-gyp nhưng nó không thể giúp tôi. Tôi đang sử dụng Ubuntu 14, 64 bit.


76
2018-02-12 20:13


gốc


Xin vui lòng xem xét đánh dấu câu trả lời của Omar. Điều đó giải quyết được vấn đề. - Ionică Bizău


Các câu trả lời:


Nếu bạn đã nâng cấp nút thì npm rebuild có thể sửa lỗi này cho bạn


138
2018-03-04 16:29



Bạn chắc chắn nên chạy cái này không có sudo trừ khi bạn biết bạn thực sự cần quyền truy cập root. Bạn không nên cần root trừ khi bạn đang làm việc với các module được cài đặt trên toàn cầu (thường không được khuyến khích). - gfxmonk
Không làm việc cho tôi, nhưng rm -r node_modules sau đó npm install  đã làm công việc - Vasily Alexeev
Không chỉ giới hạn trong nâng cấp, cũng hoạt động trong trường hợp cài đặt lại npm và nút, v.v. - Kevin


Cho tôi: rm -r node_modules sau đó npm install 


40
2017-07-01 12:20





Tôi đã có một vấn đề tương tự với một sản phẩm khác và sửa chữa của tôi là thay đổi phiên bản của nút mà tôi đang sử dụng. tôi đang sử dụng 0.12.0 và đổi lại thành 0.10.26.

Cá nhân, tôi sử dụng NVM để xử lý thay đổi phiên bản nút. Với NVM được cài đặt, nó đơn giản như chạy

nvm use 0.10.26

Hoặc đặt phiên bản mặc định thành 0.10.26

nvm alias default 0.10.26

Hy vọng rằng điều này sẽ giúp bạn ra ngoài - vấn đề của chúng tôi đến từ các sản phẩm khác nhau nhưng giải pháp có thể giống nhau.


12
2018-02-17 23:06



Sửa chữa này đã giúp tôi khi tôi đang thực hiện các gói toàn cầu nhưng muốn chạy các gói địa phương với một phiên bản nút mới. Chỉ cần chuyển đổi các phiên bản khi tôi chạy các lệnh chung. - Collin Price


Tôi đã có vấn đề tương tự.

/Users/user/NodeAddons/bridge/node_modules/bindings/bindings.js:83   Lỗi: Mô-đun không tự đăng ký.

Trong trường hợp của tôi, tôi đã làm một C / C ++ Add-on, và tôi đã quên xuất khẩu các add-on, trong main.cc của tôi đã thiếu mã dưới đây:

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

NODE_MODULE(method, Init);

Hy vọng điều này sẽ giúp người khác! Cảm ơn :)


7
2017-12-22 13:03



Thanks buddy .. Đối với addon đầu tiên của tôi: D - webcoder
Vui mừng cho bạn (Y): D - Aion


Đối với tôi, chạy npm update đã làm việc


2
2018-03-23 16:28



Nó có thể, nhưng chỉ khi gói đã lỗi thời. Nó cũng làm một cái gì đó khác hơn là yêu cầu. npm rebuild hoặc là rm -rf node_modules && npm i là câu trả lời đúng. - Albin


Tôi đã gặp vấn đề tương tự với 0.12 và io.js 1.3.0, hoàn nguyên về Node.js 0.10 đã khắc phục sự cố.


1
2018-02-24 12:30





Tôi đã thêm cùng một vấn đề bởi vì tôi đã cài đặt vào các mô-đun như sudo ... Loại bỏ thư mục mô-đun nút và cài đặt lại như người dùng bình thường đã sửa nó.


1
2018-05-14 09:17



Hoàn hảo. Tôi đã thay đổi quyền sở hữu của thư mục bằng cách sử dụng chown và được cài đặt lại với npm mà không có sudo. Nó đã làm việc. - Asheesh