วิธีแก้ปัญหาข้อผิดพลาด“ โมดูลต่อไปนี้หายไปจากระบบไฟล์” ข้อผิดพลาด?


9

ฉันได้รับข้อผิดพลาดต่อไปนี้ในไซต์ Drupal 8

โมดูลต่อไปนี้หายไปจากระบบไฟล์

ดูเหมือนว่าโมดูลที่กำหนดเองได้รับการติดตั้งและลบโดยไม่ถอนการติดตั้ง

ฉันจะแก้ไขข้อผิดพลาดนี้ได้อย่างไร?


คุณใช้การจัดการการกำหนดค่าในไซต์หรือไม่
Adrian Cid Almaguer

ใช่ฉันกำลังใช้อยู่
Kevin

ล่วงหน้ากับปัญหาบางอย่าง? ฉันต้องการทราบในตอนท้ายว่าคุณจะแก้ไขปัญหานี้ได้อย่างไรเช่นกัน
Adrian Cid Almaguer

ใน Drupal 8.7.3 ฉันได้รับ "โมดูลต่อไปนี้หายไปจากระบบไฟล์: php ใน drupal_get_filename ()" แต่เมื่อฉันลองติดตั้งโมดูล php ฉันได้รับข้อผิดพลาดเกี่ยวกับมันมีอยู่แล้วในแกน ข้อผิดพลาดทำให้ฉันถอนการติดตั้งอะไร เมื่อวานฉันอัพเกรดเป็น 8.7.3 และวันนี้เป็น 8.5.3 และไม่สามารถสั่นคลอนข้อผิดพลาด แคชถูกล้างทุกครั้งและโมดูลทั้งหมดที่ฉันรู้ได้รับการกู้คืนแล้ว ฉันเห็นบันทึกเกี่ยวกับ Drush แต่จะติดตั้งใน 8.7.3 ได้อย่างไร
WilliamK

คำตอบ:


11

หากคุณมี Drupal Console วิธีที่รวดเร็วในการแก้ไขปัญหานี้คือการสร้างโมดูลที่มีชื่อเครื่องเหมือนกันจากนั้นถอนการติดตั้ง

$ drupal generate:module

จากนั้นพิมพ์ชื่อเครื่องที่พรอมต์ที่เหมาะสมและยอมรับค่าเริ่มต้นสำหรับทุกอย่างอื่น

$ drush pm-uninstall

จากนั้นคุณสามารถลบโมดูลที่สร้างขึ้นใหม่จากระบบไฟล์และดำเนินการกับวันของคุณ

(หมายเหตุคุณอาจจำเป็นต้องเก็บโมดูลที่สร้างไว้ไว้มิฉะนั้นข้อผิดพลาดจะกลับมาในกรณีนั้นหากคุณต้องการติดตั้งโมดูล contrib ด้วยชื่อเดียวกันให้ลบโมดูลที่สร้างขึ้นหลังจากเพิ่มโมดูล contrib แล้วล้างแคช )


2
นี่เป็นตัวเลือกที่ง่ายที่สุดหลังจากแบบสอบถาม SQL ด้านบนไม่ทำงาน
Chris Charlton

มันช่วยแก้ไขข้อผิดพลาดของฉันสำหรับโมดูลไม่พบ
Akshay Sawant

หากใครต้องการความช่วยเหลือในการติดตั้ง Drupal Console ฉันพบว่าหน้านี้มีประโยชน์ จำไว้ว่าคุณจะต้องติดตั้งDrupal Console Launcherทั่วโลกและDrupal Consoleในพื้นที่ (ในโครงการรากของการติดตั้ง Drupal ของคุณ)
Doomd

10

สมมติว่าคุณได้ลบโมดูลที่กำหนดเองที่ไม่สำคัญซึ่งไม่จำเป็นต้องเรียกใช้รูทีนการถอนการติดตั้งใด ๆ คุณสามารถใช้คำสั่ง Drush ต่อไปนี้

  • 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';"

ดูวิธีการแก้ไขข้อความเตือน "โมดูลต่อไปนี้หายไปจากระบบไฟล์ ... "สำหรับข้อมูลเพิ่มเติมและทางเลือกอื่น ๆ


1
ฉันลองสองสามครั้งและนี่สำหรับ D8 ไม่ทำงานอย่างน้อยสำหรับ d8.7 ฉันจะแนะนำวิธีแก้ปัญหาด้านล่างด้วยการสร้างโมดูลหุ่นแล้วติดตั้ง
Marko Blazekovic

3

ขณะนี้มีโมดูลการจัดการการกำหนดค่าการกำหนดค่าโมดูลจะถูกเก็บไว้ในไฟล์ core.extension.yml

ไปที่แก้ไขไฟล์แล้วลองหาโมดูลที่ขาดหายไปจากระบบไฟล์จากนั้นลบบรรทัดและนำเข้า config ( drush cim)

หากสิ่งนี้ไม่ทำงาน แต่คุณได้พบโมดูลแล้วให้สร้างโมดูลอีกครั้ง (เพียงแค่โฟลเดอร์และไฟล์. info.yml ที่ถูกต้อง) และเรียกใช้drush cimคำสั่งอีกครั้ง นี่จะถอนการติดตั้งโมดูล


4
วิธีนี้ใช้ได้ผล แต่วิธีที่ถูกต้องคือการกู้คืนโมดูลและถอนการติดตั้ง หากโมดูลนั้นมีสกีมาการกำหนดค่าหรือดังนั้นมันจะยังคงอยู่ในระบบและคุณจะต้องทำความสะอาดด้วยตนเองมิฉะนั้น
Berdir

1
@Berdir ถ้าคุณไม่สามารถหาโมดูลที่กำหนดเองเราสามารถทำสิ่งอื่นได้หรือไม่
Adrian Cid Almaguer

ไม่จริงคุณต้องทำด้วยตนเองตามที่แนะนำข้างต้นด้วย dred cedit หรือนำเข้า / ส่งออกในไฟล์ core.extension
Berdir

0

วิธีที่ฉันแก้ไขมันคือการใช้เครื่องดื่มและนักแต่งเพลง รับโมดูลที่ต้องการติดตั้งและถอนการติดตั้งด้วย drush จากนั้นนำออกด้วยนักแต่งเพลง

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

! ขั้นตอนที่drush enอาจไม่เป็นสิ่งจำเป็น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.