【问题标题】:Drupal module case issues in install profiles安装配置文件中的 Drupal 模块案例问题
【发布时间】: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。

标签: drupal-7 drush


【解决方案1】:

问题是实际上 storage_api 不包含任何称为 storage_api 的东西。相反,myprofile.info 文件应该包含

dependencies[] = storage
dependencies[] = storage_core_bridge
dependencies[] = storage_audit
dependencies[] = storage_audit_test

而不是dependencies[] = storage_api

总的来说,这样做是明智的:

$ find ./modules/module -name "*.install" 找到实际可配置的dependencies[]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多