【发布时间】:2013-05-08 08:50:20
【问题描述】:
我一直在尝试创建 Drupal 7 安装配置文件,但似乎某些模块对 install_verify_requirements() 验证的名称和实际模块安装目录(主要影响 unix/linux 安装)使用不同的大小写,这里是一个例子:
# myprofile.info
name = myprofile
description = Some name for my profile
core 7.x
; Core
dependencies[] = block
dependencies[] = color
dependencies[] = comment
dependencies[] = contextual
dependencies[] = dashboard
dependencies[] = help
dependencies[] = image
dependencies[] = list
dependencies[] = menu
dependencies[] = number
dependencies[] = options
dependencies[] = path
dependencies[] = taxonomy
dependencies[] = dblog
dependencies[] = search
dependencies[] = shortcut
dependencies[] = toolbar
dependencies[] = overlay
dependencies[] = field_ui
dependencies[] = file
dependencies[] = rdf
; Contrib
dependencies[] = ctools
dependencies[] = features
dependencies[] = pathauto
dependencies[] = views
dependencies[] = entitycache
dependencies[] = storage_api
还有
# myprofile.make
core = 7.x
api = 2
projects[drupal][type] = core
; Contrib Modules
projects[] = ctools
projects[] = features
projects[] = pathauto
projects[] = views
projects[] = entitycache
projects[] = storage_api
当你运行时:
drush make profiles/myprofile/myprofile.info
所有项目都毫无问题地下载到profiles/myprofile/modules,但只要你尝试
drush site-install
您收到错误报告,指出未找到 Storage_api 模块。您注释掉 storage_api 并且一切都按预期工作。
关于如何设置从 storage_api 到 Storage_api 的模块安装路径的任何线索,所以 install_verify_requirements() 函数实际上找到了应该找到的东西?或者以任何方式强制对此进行小写检查?
提前致谢!
【问题讨论】:
-
听起来你的文件系统/构建的 Drush 中有一些问题。我刚刚添加了一个带有 storage_api 的快速制作文件,运行
drush make然后drush si并且一切正常(在 Mac 上) -
@Clive 这确实很奇怪。检查 include/install.php 内部的
$present_modules(ln 695) 包括 storage_statistics、storage_core_bridge、storage_audit_test、storage_audit 和 storage,但没有 storage_api。另一方面,$info['dependencies'] 不包含上述任何内容,而是包含一个名为 storage_api 的 $missing_modules,它最终在array_diff()之后有一个包含 storage_api 的 $missing_modules。