Wie kann ich ein Modul neu installieren?

12

Ich erstelle auf Drupal 8 Modul. Ich habe eine benutzerdefinierte Tabelle verwendet, um die aus Formularen gesammelten Daten zu speichern. Irgendwie werden während der Installation aufgrund eines Problems in der Installationsdatei keine Tabellen erstellt. Jetzt habe ich das Problem behoben und möchte das Modul erneut installieren.

Wie kann ich ein Modul neu installieren?

Aus dieser und dieser Diskussion weiß ich, dass die Funktionalität des Deaktivierungsmoduls entfernt wurde.

Gibt es eine andere Möglichkeit, ein Modul neu zu installieren, damit seine Datenbanktabellen erstellt werden?

mohit_rocks
quelle

Antworten:

17

Hier kann auch das Entwicklungsmodul helfen.

Unter / devel / reinstall wird eine Seite "Module neu installieren" verfügbar, auf der Sie Module in großen Mengen neu installieren können.

Erwähnenswert ist auch Drush; dis(offensichtlich) funktioniert nicht mehr, aber pm-uninstallund enimmer noch tun. Und wenn Sie Devel installiert haben, können Sie eine Neuinstallation mit aufrufen

drush dre module1 module2
Clive
quelle
Beachten Sie, dass devel die Nur-Deinstallationsänderungen von Drupal 8 noch nicht unterstützt. Cgit.drupalcode.org/devel/tree/drush/devel.drush.inc#n115
anavarre
1
Ich habe ein Problem gestartet, um das Problem zu beheben. Drupal.org/node/2292425
anavarre
Ich denke, alle hier veröffentlichten Antworten sind falsch. Die ursprüngliche Frage ist, wie man "neu installiert". Dies ist nicht dasselbe wie das Deinstallieren und anschließende Installieren. Leider führen alle Szenarien hier eine Deinstallation durch, was für D8 ein wichtiger Rückschritt ist, da dadurch die Konfiguration für dieses Modul gelöscht wird. Ich bin immer noch auf der Suche nach der richtigen Antwort, wie die Installationskonfiguration für ein Modul "neu geladen" werden kann (ohne Deinstallation).
Liquidcms
9

Wie Sie sagten "Deaktivierungsfunktion wird von Drupal 8 entfernt" ..

Die kurze Antwort lautet: Sie suchen wahrscheinlich nach der Registerkarte "Deinstallieren" auf der Seite "Erweitern" (Module) / admin / modules / uninstall

Es gibt keine Grauzone mehr zwischen einem eingeschalteten und einem aktiven Modul und einem ausgeschalteten Modul. "Deaktiviert" ist keine Sache mehr. Wenn Sie ein Modul deinstallieren, müssen Sie alle Spuren davon entfernen.

Gehen Sie zu admin / modules / uninstall und deinstallieren Sie das Modul ... Aktivieren Sie dann das Modul auf der Modullistenseite. Das sollte das Modul erneut installieren.

Zum Beispiel ....

Vor der Installation des Ban-Moduls in Drupal 8 ... existiert das ban_ip-Modul nicht in der Datenbank.

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Nach der Installation von Ban Module in Drupal 8 ... wird die Tabelle ban_ip erstellt und das Modul kann nicht deaktiviert, aber in admin / modules / uninstall deinstalliert werden

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Wenn Sie nun das Modul deinstallieren, wird die Tabelle aus der Datenbank entfernt und das Modul kann erneut installiert werden, wodurch Tabellen in der Datenbank erstellt werden.

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Anil Sagar
quelle
Vielen Dank für diese tolle Erklärung. Ich habe die Liste der Module auf der Registerkarte " Deinstallieren" überprüft , mein Modul jedoch nicht gefunden. Wenn Sie den Code hier überprüfen möchten, github.com/mohit-rocks/messaging . Derzeit können Sie Module installieren und einstellungsbezogene Formulare kommen.
Mohit_rocks
2

Lösung 1: Deinstallieren und erneut manuell installieren

Verwenden der Drupal-Benutzeroberfläche:

  • Gehen Sie im Admin-Menü zur Seite Erweitern
  • Gehen Sie zur Seite des Deinstallationsmoduls
  • Deinstallieren Sie das gewünschte Modul
  • Gehen Sie erneut zur Seite Erweitern (wo Sie eine Liste der Module haben).
  • Installieren Sie das gerade deinstallierte Modul

Verwenden von Drush (Sie sollten es versuchen, wenn Sie es nicht verwenden):

  • drush pm-uninstall MODULE -y && drush pm-enable MODULE -y
  • ODER kurz gesagt drush pmu MODULE -y && drush en MODULE -y

Ersetzen Sie MODUL durch den Namen Ihres Moduls.

Lösung 2: Neu installieren mit dem Entwicklungsmodul

Angenommen, Sie haben das Entwicklungsmodul installiert.

Verwenden der Drupal-Benutzeroberfläche:

  • Besuchen Sie den Weg /devel/reinstall
  • Installieren Sie die gewünschten Module erneut

Drush verwenden:

  • drush devel-reinstall MODULE -y
  • ODER kurz gesagt drush dre MODULE -y

Ersetzen Sie MODUL durch den Namen Ihres Moduls.

Jigarius
quelle
1

Wenn nichts anderes funktioniert, können Sie das Folgende für Drupal 8 ausprobieren.

  1. Entfernen Sie die problematischen Moduldateien und den Ordner

    • rm -rf modules / your_problematic_module
  2. Entfernen Sie die zwischengespeicherten Zweigvorlagen

    • rm -rf sites / default / files / php
  3. Leeren Sie den Drupal-Cache

HINWEIS: Stellen Sie sicher, dass Sie den Code und die Datenbank sichern, bevor Sie dies tun

Rijas Madurakuzhi
quelle
1

Wenn Sie die Installationskonfiguration für ein bestimmtes Modul neu installieren (neu laden) möchten, können Sie diesen Drush-Befehl verwenden:

drush cim --partial --source=modules/custom/MY_MODULE/config/install
liquidcms
quelle