“Aşağıdaki modül dosya sisteminde eksik” hatasını nasıl çözebilirim?


9

Bir Drupal 8 sitesinde aşağıdaki hatayı alıyorum.

Dosya sisteminde aşağıdaki modül eksik

Özel bir modül kaldırılmadan yüklenmiş ve silinmiş gibi görünüyor.

Bu hatayı nasıl düzeltebilirim?


Sitede yapılandırma yönetimini kullanıyor musunuz?
Adrian Cid Almaguer

Evet bunu kullanıyorum
Kevin

Bazıları sorunla ilerler mi? Sonunda sorunu nasıl çözdüğünü bilmek istiyorum, bu da bana herhangi bir projede ulaşabilir.
Adrian Cid Almaguer

Drupal 8.7.3 "Ben aşağıdaki dosya sisteminden eksik: php drupal_get_filename ()" alıyorum ama php modülü yüklemeye çalıştığımda zaten çekirdek var hakkında bir hata alıyorum. Hata, herhangi bir şeyi kaldırmamı engelliyor. Dün 8.7.3'e ve bugün 8.5.3'e yükselttim ve hatayı sallayamıyorum. Her seferinde önbellek temizlendi ve tanıdığım tüm modüller geri yüklendi. Drush hakkında notlar görüyorum ama 8.7.3'e nasıl kurulur?
WilliamK

Yanıtlar:


11

Drupal Konsolunuz varsa, bunu düzeltmenin hızlı bir yolu aynı makine adına sahip bir modül oluşturmak ve ardından kaldırmaktır.

$ drupal generate:module

Ardından, makine adını uygun isteme yazın ve diğer her şey için varsayılanları kabul edin.

$ drush pm-uninstall

Ardından yeni oluşturulan modülü dosya sisteminden silebilir ve gününüze devam edebilirsiniz.

(Not: Oluşturulan modülü korumanız gerekebilir, aksi takdirde hata geri döner. Bu durumda, aynı ada sahip bir katkıda bulunan modül takmanız gerekiyorsa, katkıda bulunan modülü ekledikten sonra oluşturulan modülü kaldırın. Ardından önbelleği temizleyin. )


2
Bu yukarıdaki SQL sorgusu işe yaramaz sonra en basit seçenek oldu.
Chris Charlton

Modül bulunamadı hatasımı çözmemize yardımcı oldu.
Akshay Sawant

Herkes Drupal Konsolunu yüklemek için yardıma ihtiyaç duyarsa, bu sayfayı faydalı buldum . Unutmayın, Drupal Konsol Başlatıcı'yı küresel olarak ve Drupal Konsolunu yerel olarak (Drupal kurulumunuzun proje kökünde) yüklemek isteyeceksiniz .
Doomd

10

Tetiklenmesi için herhangi bir kaldırma rutini gerektirmeyen önemsiz bir özel modülü sildiğinizi varsayarsak, aşağıdaki Drush komutunu kullanabilirsiniz.

  • Drupal 7

    drush sql-query "DELETE from system where type = 'module' AND name = 'MYMODULE';"
  • Drupal 8

    drush sql-query "DELETE FROM key_value WHERE collection='system.schema' AND name='MYMODULE';"

Daha fazla bilgi ve alternatifler için "Aşağıdaki modül dosya sisteminde eksik ..." uyarı iletilerini düzeltme bölümüne bakın .


1
Birkaç kez denedim ve bu D8 için en azından d8.7 için çalışmıyor. Ben kukla modülü üreten ve sonra uinstall ile aşağıdaki çözümü tavsiye ederim.
Marko Blazekovic

3

Şimdi Yapılandırma Yönetimi modülü ile modül yapılandırması core.extension.yml dosyasında saklanır.

Dosyayı düzenlemeye gidin ve dosya sisteminden eksik modülü bulmaya çalışın, ardından satırı silin ve config ( drush cim) öğesini içe aktarın .

Bu işe yaramazsa, ancak modülü bulduysanız, modülü yeniden oluşturun (yalnızca klasör ve geçerli bir .info.yml dosyası) ve drush cimkomutu yeniden çalıştırın . Bu, modülü kaldıracaktır.


4
Bu işe yarar, ancak doğru yol modülü geri yüklemek ve kaldırmaktır. Bu modül şemalar, yapılandırmalar vb. Sağlıyorsa, sistemde kalır ve aksi takdirde manuel olarak temizlemeniz gerekir.
Berdir

1
@Berdir özel modülü bulamazsanız başka bir şey yapabiliriz?
Adrian Cid Almaguer

Aslında değil, o zaman yukarıda drush cedit veya core.extension dosyasında içe / dışa aktarma ile manuel olarak yapmanız gerekir.
Berdir

0

Düzeltme şeklim drush ve composer kullanmaktı. Gereksinim duyduğunuz modülü alın, drush ile kurun ve kaldırın, ardından besteci ile kaldırın.

composer require drupal/missing_module
drush en missing_module
drush pmu missing_module
composer remove drupal/missing_module

! drush enİle adım muhtemelen gereksiz değil

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.