Yakalanmamış Hata: Modül kendi kendine kayıt olmadı


92

Nw.js (v0.12.0-alpha2) ile node-vlc kullanmaya çalışıyorum. Uygulamamı nw.js olmadan başlattığımda çalışıyor, ancak nw.js ile başlattığımda bir hata alıyorum:

Yakalanmamış Hata: Modül kendi kendine kayıt olmadı. ", Kaynak: /home/alexis/Bureau/dev/jukebox/node_modules/vlc/node_modules/ffi/node_modules/bindings/bindings.js (84)

Nw-gyp ile bazı komutları denedim ama bana yardımcı olamadı. Ubuntu 14, 64-bit kullanıyorum.


6
Lütfen Omar'ın cevabını işaretlemeyi düşünün. Bu sorunu çözdü.
Ionică Bizău

Yanıtlar:


155

Düğümü yükselttiyseniz npm rebuild, bunu sizin için düzeltebilir


3
Aslında root erişimine ihtiyacınız olduğunu bilmiyorsanız, bunu kesinlikle sudo olmadan çalıştırmalısınız . Genel olarak kurulu modüller ile uğraşmadığınız sürece (genellikle önerilmez) root'a ihtiyacınız olmamalıdır.
gfxmonk

8
Benim için işe yaramadı, ama rm -r node_modulessonra npm install işi yaptı
Spc_555

1
Yalnızca yükseltmeyle sınırlı değil, aynı zamanda npm ve düğümün yeniden yüklenmesi durumunda da çalışın.
Kevin

Bu gerçekten soruya cevap vermiyor. Sorun nedir? Bu hata modülünü 'usb' yüklerken elektronJS'deki bir web işçisinden alıyorum. Ne anlama geldiğine dair hiçbir fikrim yok, sorunun ne olduğunu açıklayabilir misin?
PeterT


18

Başka bir ürünle benzer bir sorun yaşadım ve düzeltmem kullandığım düğümün sürümünü değiştirmekti. Kullanıyordum 0.12.0ve geri döndüm 0.10.26.

Kişisel olarak, düğüm sürümünün değiştirilmesiyle ilgilenmek için NVM kullanıyorum . NVM kurulduğunda, çalıştırmak kadar basit

nvm use 0.10.26

Veya varsayılan sürümü 0.10.26 olarak ayarlama

nvm alias default 0.10.26

Umarım bu size yardımcı olur - sorunlarımız farklı ürünlerden geldi ancak çözüm aynı olabilir.


Bu düzeltme, genel paketleri çalıştırırken ancak yerel paketleri yeni bir düğüm sürümüyle çalıştırmak istediğimde bana yardımcı oldu. Global komutları çalıştırdığımda sadece sürümleri değiştirmem gerekiyor.
Collin Price

9

Benim de benzer bir problemim vardı.

/Users/user/NodeAddons/bridge/node_modules/bindings/bindings.js:83 Hata: Modül kendi kendine kayıt olmadı.

Benim durumumda bir C / C ++ Eklentisi yapıyordum ve eklentiyi dışa aktarmayı unutmuştum, main.cc dosyamda aşağıdaki kod eksikti:

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

NODE_MODULE(method, Init);

Umarım bu başkalarına yardımcı olur! Teşekkürler :)


Sana sevindim (Y): D
Aion

3

Bir keresinde çoklu dosya c ++ eklentisi oluştururken bu sorunu yaşadım. Binding.gyp dosyamda:

"sources": ["src/*.cc", "src/*.h" ]

Ve projem birkaç * .cc dosyası içeriyordu. Ancak, NODE_MODULE () makrosu yalnızca dosyaların geri kalanını içe aktaran tek bir dosyada çağrıldı. Ama üzerinde denir düğüm beklediği o frist kaynaklarda listelenen * .cc dosyası. Bu nedenle, bu dosyayı açıkça başa eklemek için kaynakları değiştirmem gerekti


2

Benim için koşmak npm updateişe yaradı


Olabilir, ancak yalnızca paketin süresi geçmişse. Aynı zamanda istenenden başka bir şey yapar. npm rebuildya rm -rf node_modules && npm ida doğru cevap.
Albin

1

0.12 ve io.js 1.3.0 ile aynı sorunu yaşadım, Node.js 0.10'a geri dönerek sorunu çözdüm.


1

Modüllere sudo olarak yüklediğim için aynı sorunu ekledim ... Düğüm modülleri klasörünü kaldırma ve normal kullanıcı düzelttiği gibi yeniden yükleme.


1
Mükemmel. Chown kullanarak klasörün sahipliğini değiştirdim ve sudo olmadan npm ile yeniden yükledim. İşe yaradı.
Asheesh

1

Benim için npm rebuildya npm updateda çalışmadı. node_modulesKlasörü kaldırmam ve npm installtekrar yüklemek için çalıştırmam gerekiyordu.


0

Ben de aynı sorunu yaşadım. Global bir referans komut dosyasına referans veren komut dosyamın referansı geçersiz. O geçersiz referansı çıkardım ve hata gitmişti. Hata mesajımda, hata ayıklamayı zorlaştıran bu geçersiz referansa dair hiçbir gösterge yoktu. Ancak 'Yakalanmamış Hata: Modül kendi kendine kayıt olmadı' mesajı aldığım mesajdı.

Bu benim diğer projemde de oluyor. Bazı nedenlerden dolayı, karakterlerden biri büyük harf ise referans yolunu tanımaz. Üst harfin yolun doğru yazılışı olduğu düşünülse bile.


-1

Ben de aynı sorunla karşı karşıyaydım ve bu benim için çalıştı.

node_module / konumuna gitmeniz ve aşağıdaki komutu kullanarak nw-gyp hedefini yapılandırmanız gerekir

$ nw-gyp configure --target=0.12.3 

sonra

$ nw-gyp build

ve bu benim için çalıştı. Nw-gyp komutu bulunmazsa, şunu kullanın:

npm install nw-gyp
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.