Error: Cannot find module '<ad>'
Bir script'in çalışmak için ihtiyaç duyduğu parçalar eksik — genelde GitHub'dan ekleri olmadan indirilmiştir.
Önce şunu yap
Kaynak kodu indirmek yerine satıcıdan düzgün bir sürüm al.
Ne anlama gelir
Bir JavaScript kaynağı, orada olmayan bir paketi istedi. FXServer, .js ile biten server_scripts için Node çalıştırır, ve modülleri kaynağın kendi node_modules klasöründen çözer.
Neden olur
Ne sıklıkla doğru cevap olduğuna göre sıralı.
- 1
node_modules hiç kurulmamış
Kaynak
package.jsondosyasıyla geldi, bağımlılıklarıyla değil. Yayınlanmış kaynaklar onları genelde paketler; GitHub'dan gelen bir kaynak genelde paketlemez. - 2
FXServer'ın sunmadığı bir Node yerleşiği
FXServer'ın Node'u tam bir Node kurulumu değildir. Bazı yerleşikler yoktur.
- 3
Yanlış bir göreli yol
Dosya
./lib/utils.jsikenrequire('./utils'). Hem uzantı hem büyük-küçük harf önemlidir. - 4
ESM ile CommonJS karışmış
CommonJS olarak yüklenen bir dosyada
import, ya da tersi. Hata, eksik modül olarak yüzeye çıkabilir. - 5
node_modules başka bir platform için kurulmuş
Windows'ta derlenmiş, Linux sunucuya kopyalanmış yerel bir modül.
Hangisinin seninki olduğu nasıl anlaşılır
Klasörü ara:
ls my-script/node_modules | head
Tamamen eksikse neden 1'dir. Var ama adı geçen tek paket eksikse, eksik bir kurulumdur.
Nereye bakmalı
Kaynağın package.json dosyası ve node_modules klasörü.
Nasıl düzeltilir
Kaynak klasörünün içinde kur:
cd resources/my-script npm install --omit=dev
Sonra sunucuyu yeniden başlat. Sunucu kökünde kurmak işe yaramaz — çözümleme kaynaktan başlar.
Hâlâ kendi kodunda mı takıldın?
Bu sayfa, bu hatanın genelde ne anlama geldiğini anlatır. Konsolunu Server Fixer'a yapıştır; içindeki her şeyi sıraya dizer ve önce ne yapman gerektiğini söyler. Kendin uğraşmak istemiyorsan ORBIE script'i onarır ve kaynağı sunucuna atmaya hazır geri verir.
bug_reportServer Fixer'ı açBu tür bir hata için Script Optimizer script'i okur ve bunun arkasındaki kodu onarır.