如何重新安装模块?


12

我在Drupal 8模块上创建。我使用了一个自定义表来存储从表单收集的数据。在安装过程中,由于安装文件中的问题,无法以某种方式创建表。现在,我已经解决了该问题,并且我想再次安装该模块。

如何重新安装模块?

这个这个讨论中,我知道了禁用模块的功能已被删除。

还有其他方法可以重新安装模块以创建其数据库表吗?

Answers:


17

杰韦利模块也可以帮助在这里。

它在/ devel / reinstall中提供了“重新安装模块”页面,使您可以批量重新安装模块。

值得一提的是Drush;dis(显然)不工作了,但是pm-uninstallen现在仍然如此。如果已安装Devel,则可以使用以下命令调用重新安装

drush dre module1 module2

请注意,devel尚不支持Drupal 8的仅卸载更改cgit.drupalcode.org/devel/tree/drush/devel.drush.inc#n115
anavarre

1
我已经开始解决该问题drupal.org/node/2292425
anavarre

我认为这里发布的所有答案都不正确。最初的问题是如何“重新安装”。这与卸载然后安装的方法不同。不幸的是,这里的所有方案都进行了卸载,这对于D8是一个重要的倒退,因为这将擦除该模块的配置。我仍在寻找有关如何“重新加载”模块安装配置(不卸载)的正确答案。
Liquidcms

9

正如您所说的“从Drupal 8中删除了禁用功能”。

简短的答案是-您可能正在寻找“扩展”(模块)页面/ admin / modules / uninstall上的“卸载”选项卡

处于打开状态和活动状态,关闭状态和“清除”状态的模块之间不再存在任何灰色区域。“禁用”不再是一回事。卸载模块意味着删除其所有痕迹。

转到admin / modules / uninstall并卸载模块...然后从模块列表页面启用模块。那应该再次安装模块。

例如 ....

在Drupal 8中安装禁止模块之前...数据库中不存在ban_ip模块。

在此处输入图片说明 在此处输入图片说明

在Drupal 8中安装禁止模块后... ban_ip表已创建,无法禁用模块,但可以在admin / modules / uninstall中将其卸载

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

现在,如果您要卸载模块,则会从数据库中删除表,并且可以再次安装模块,这将在数据库中创建表。

在此处输入图片说明 在此处输入图片说明


非常感谢您提供如此出色的解释。我在“ 卸载”选项卡中检查了模块列表,但找不到我的模块。如果您想在此处检查代码github.com/mohit-rocks/messaging。当前您可以安装模块,并且与设置有关的表格也将陆续到来。
mohit_rocks 2014年

3

解决方案1:卸载并手动重新安装

使用Drupal UI:

  • 从管理菜单转到扩展页面
  • 进入卸载模块页面
  • 卸载您想要的模块
  • 再次转到“ 扩展”页面(那里有模块列表)
  • 安装刚卸载的模块

使用Drush(如果不使用它,则应尝试使用):

  • drush pm-uninstall MODULE -y && drush pm-enable MODULE -y
  • 或简而言之 drush pmu MODULE -y && drush en MODULE -y

将MODULE替换为模块名称。

解决方案2:使用Devel模块重新安装

假设您已经安装了devel模块。

使用Drupal UI:

  • 参观路径 /devel/reinstall
  • 重新安装您想要的模块

使用Drush:

  • drush devel-reinstall MODULE -y
  • 或简而言之 drush dre MODULE -y

将MODULE替换为模块名称。


1

如果没有其他效果,可以尝试以下Drupal 8。

  1. 删除有问题的模块文件及其文件夹

    • rm -rf模块/ your_problematic_module
  2. 删除缓存的树枝模板

    • rm -rf站点/默认/文件/ php
  3. 清除Drupal缓存

注意:在执行此操作之前,请确保备份代码和数据库


1

如果要重新安装(重新加载)特定模块的安装配置,可以使用以下drush命令:

drush cim --partial --source=modules/custom/MY_MODULE/config/install
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.