如何使用Drush更新禁用的模块?


10

有没有一种方法来更新禁用的模块Drush

当前,当我尝试使用Drush更新禁用的模块时,收到以下消息:

专案没有启用的扩充功能,因此无法更新

启用模块不是一个选择,因为这是一个实时站点,实际上是许多站点。它们都基于相同的Drupal代码库运行。一些模块由某些站点使用,而其他站点则不使用(可能不在主站点上)。

如果Drush无法解决此问题,那么更新模块的简便方法是什么?


关于“它们都基于相同的Drupal代码库”:请确认是否通过多站点构建(如果不是,则如何)?
Pierre.Vriens,2015年

Answers:


6

您可以使用drush它。首先,您必须获取所拥有的所有模块的列表,因为要drush pm-list像这样使用它,drush pm-list --no-core --pipe --type="module"您将获取所有模块的列表(启用,禁用和卸载)。

之后,当您获得所有模块列表时,便可以使用drush dl [modules - list]此命令drush下载并替换现有模块。就像他那样drush up

最后一个问题是运行update.php,不幸的是,您必须为每个网站都运行它,或者您可以轻松编写一个小的脚本来完成该任务。


哇。我什至从未想过这样做,但听起来像是可行的。我应该知道的任何警告吗?
nmc

顺便说一句,Drush有一个updatedb (updb)实质上运行update.php 的命令。您可以调用drush @sites updb一次更新所有子站点。
nmc

我知道,当我说您必须update.php通过url或drush显然是:)
yvan 2011年

1
这个已有4年历史的答案现在有了较好的响应,就在此线程中:drupal.stackexchange.com/a/177851/7009
Screenack

13

我使用: drush pm-updatecode --check-disabled 后跟: drush @sites updatedb

--check-disabled选项已添加2014-11-04


5
现在,这是正确的答案-相应地喜欢它。
Screenack


6

因此,我刚刚意识到,只要您已Check for updates of disabled modules and themesUpdate Manager管理器模块(位于admin/reports/updates/settings)中设置了复选框,就可以通过Drush来更新禁用的模块。

然后,发出命令drush up modulename以更新模块即可。

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.