thunder / thunder-project
Thunder项目的Composer模板
Requires
- composer/installers: ^1.2
- drupal/core-composer-scaffold: ^10.0
- drush/drush: ^12.1
- oomphinc/composer-installers-extender: ^2.0
- thunder/thunder-distribution: ^7.0@STABLE
- vlucas/phpdotenv: ^2.4
Requires (Dev)
- drupal/core-dev: ^10.0
Conflicts
- 4.x-dev
- 4.1.0
- 4.0.0
- 3.x-dev
- 3.0.12
- 3.0.11
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- dev-drush-13
- dev-TEST-update-to-10.3.x
- dev-minimum-stability-stable
- dev-morpho
- dev-remove-allow-project
- dev-remove/composer-patches
- dev-drupal9-project
- dev-go-stable
- dev-heroku
- dev-update-console
- dev-stable-release
- dev-fix/readme
This package is auto-updated.
Last update: 2024-09-02 07:03:52 UTC
README
此项目模板应能帮助您使用Composer来管理网站依赖。
用法
请参阅我们的安装文档了解如何使用Thunder项目。我们还有关于如何扩展和更新Thunder网站的文档。
模板做了什么?
当安装给定的composer.json
时,将处理一些任务
- Drupal将被安装到
docroot
目录中。 - 实现了自动加载器,以使用
vendor/autoload.php
中生成的Composer自动加载器,而不是Drupal提供的自动加载器(docroot/vendor/autoload.php
)。 - 模块(类型为
drupal-module
的包)将放置在docroot/modules/contrib/
- 主题(类型为
drupal-theme
的包)将放置在docroot/themes/contrib/
- 配置文件(类型为
drupal-profile
的包)将放置在docroot/profiles/contrib/
- 下载Drupal脚手架文件,如
index.php
或.htaccess
- 创建
sites/default/files
目录。 - 将最新版本的drush安装到本地,以便在
bin/drush
中使用。 - 将最新版本的DrupalConsole安装到本地,以便在
bin/drupal
中使用。
文件更新
此项目将尝试保持您的Thunder和drupal核心文件最新;项目drupal-composer/drupal-scaffold用于确保每次更新drupal/core时,您的脚手架文件都会更新。如果您自定义了任何“脚手架”文件(通常是 .htaccess),则在Drupal核心的新版本中更新您修改的任何文件时,您可能需要解决合并冲突。
按照以下步骤更新您的Thunder文件。
- 运行
composer update
- 运行
git diff
以确定是否有任何脚手架文件已更改。检查文件以确定是否有更改,并将任何自定义设置恢复到.htaccess
或robots.txt
。 - 将所有内容合并到一个提交中,以便在检出分支或运行
git bisect
时,docroot
将始终与core
保持同步。 - 如果在第2步中有非平凡的冲突,您可能希望在分支上执行这些步骤,并使用
git merge
将更新的核心文件与您的自定义文件合并。这有助于使用三向合并工具(如kdiff3)。如果您的更改很简单,则不需要此设置;在文件的开始或结尾保留所有修改是一个使合并变得容易的好策略。
常见问题解答
我应该提交我下载的贡献模块吗?
Composer建议不提交。他们提供了论点,但同时也提供了如果项目决定这样做时的解决方案。
我如何应用下载的模块的补丁?
如果您需要应用补丁(根据修改的项目,拉取请求通常是一个更好的解决方案),您可以使用composer-patches插件来完成。
要将补丁添加到foobar Drupal模块中,请在composer.json的extra部分插入patches部分。
"extra": { "patches": { "drupal/foobar": { "Patch description": "URL or local path to patch" } } }
我应该提交脚手架文件吗?
drupal-scaffold插件可以将脚手架文件(如index.php、update.php等)下载到您项目的web/目录。如果您没有自定义这些文件,可以选择不将它们提交到您的版本控制系统(例如git)。如果您的项目是这样,那么在每次安装或更新项目后自动运行drupal-scaffold插件可能会更方便。您可以通过在composer.json中将@drupal-scaffold
注册为post-install和post-update命令来实现这一点。
"scripts": { "drupal-scaffold": "DrupalComposer\\DrupalScaffold\\Plugin::scaffold", "post-install-cmd": [ "@drupal-scaffold", "..." ], "post-update-cmd": [ "@drupal-scaffold", "..." ] },
我该如何防止下载我不需要的Thunder模块?
要防止下载Thunder提供但您不需要的模块,请向您的composer.json添加一个replace块。
"replace": { "drupal/features": "*" }
此示例阻止下载任何版本的feature模块。