例如,如果您执行以下命令:
drush dl views
drush en views views_ui views_export
尝试启用视图模块时,将出现以下错误:
无法启用模块视图,因为它依赖于以下找不到的模块:ctools
有没有一种方法可以促使下载所需的模块相关性?
drush en -y
将自动下载并启用依赖项。
例如,如果您执行以下命令:
drush dl views
drush en views views_ui views_export
尝试启用视图模块时,将出现以下错误:
无法启用模块视图,因为它依赖于以下找不到的模块:ctools
有没有一种方法可以促使下载所需的模块相关性?
drush en -y
将自动下载并启用依赖项。
Answers:
第5次及以上:
启用(drush en
)模块时,较新版本的Drush(版本5及更高版本)会询问您是否要下载所需的依赖项。它还会询问您是否要下载模块本身(如果尚未下载)。结合“ -y”选项(例如drush en views -y
),将自动下载并启用所有内容,而无需询问其他问题。
请注意,如果所需模块的名称与其在drupal.org上的项目名称不同,则依赖关系的自动下载可能会失败。有关更多信息,请参阅下面我对Drush 4的原始回答。
原始答案(草稿4):
不,没有办法做到这一点。问题在于模块和项目之间存在差异。通常(但并非总是)项目的名称与项目中包含的模块(或模块之一)相同。一个项目(例如,视图)可以包含多个模块(视图,views_ui,views_export)。当drush dl
下载一个项目,drush en
使模块。
当模块声明依赖关系时,它将声明对模块而不是项目的依赖关系。执行时drush en
,Drush可以检查所需的模块是否可用。但是,如果不可用,Drush将无法知道要下载哪个项目。为了使Drush能够自动下载所需的项目,需要在基础项目/模块基础结构中完成工作,因此Drush可以检索项目和模块的映射。另请参阅对丢失的依赖项进行更明智的处理。
这不再是问题,因为最新版本的drush可以“自动”执行此操作:
The following projects have unmet dependencies:[ok]
answers requires strongarm, references, nodereference_url, nodereference_count, eva
Would you like to download them? (y/n):
一些模块或项目包括 drush make脚本,该脚本可以下载依赖项并安装外部库。
但是,大多数情况并非如此,并且drush make脚本的嵌套存在问题。仍然值得寻找一些设置较复杂的模块。
尝试快速更新模块。它将为您下载所有缺少的依赖项目。
这是关于它的报价(来自模块的项目页面):
...提供了一种批量安装多个新项目或所有缺少的依赖项目的快速方法。
Drupal核心提供了一种安装模块或主题的方法,但是您可以通过快速更新模块安装多个项目。有一个管理界面,可以更轻松地搜索最多安装的项目。
另外,快速更新模块为您找到所有丢失的依赖项目,然后您可以从管理UI中选择所有它们并以批处理的方式安装它们。
快速更新模块取决于更新模块,并使用与更新模块相同的工作流程。因此,您可以通过管理员更新页面/ admin / reports / updates / update运行更新。