openfed/openfed-project

Openfed发行版构建的Drupal 9网站的项目模板。

12.2.0 2024-04-11 11:06 UTC

This package is auto-updated.

Last update: 2024-09-21 09:08:02 UTC


README

这是一个使用Openfed发行版构建的Drupal 10网站的项目模板。

要求

  • 至少安装PHP 8.1
  • Composer 2.0

文件结构

有3个json文件

composer.json

这是您项目的主要json文件,您可以使用它来要求额外的存储库。您可以根据需要覆盖此文件,但请确保保持composer-merge-plugin设置和包的顺序,以使用下面的json文件。

有关composer-merge-plugin设置和选项的更多信息,请参阅https://github.com/wikimedia/composer-merge-plugin

composer.openfed.json

包含所有与Openfed相关的设置,一旦创建项目就不应更改。然而,您应定期根据此存储库中最新的版本更新此文件。

composer.patches.json

所有项目特定的补丁应在此设置。此存储库不应用补丁,因此此文件始终为空,它只是用作模板或起点。以下是如何使用命令行应用补丁的示例。

使用

安装

此项目需要安装composer

注意:下面的说明适用于全局composer安装。您可能需要根据您的设置将composer替换为php composer.phar(或类似)。

之后您可以创建项目

composer create-project openfed/openfed-project:~12.2.0 MYPROJECT

更新

最好是下载最新版本,并用文件替换您项目。如果您在composer.json中定义了自定义模块,您需要将其复制到新的composer.json文件中。您可以删除现有的composer.libraries.json,因为它已从本项目删除。

从Openfed 8.x-10.0开始,有一个composer脚本(实验性),您可以通过运行它来使本地项目部分更新。要更新您的项目,您可以

  • 备份您的网站
  • 运行
    composer run-script project-update
  • 手动更新composer.json(建议使用此存储库中的composer.json并将其调整以使用您的项目/补丁)
  • 运行
    composer update

您的项目现在应该已更新。

要求新的模块

使用composer require ...,您可以下载新的依赖项到您的安装。

cd MYPROJECT
composer require drupal/devel:~1.0

使用composer create-project命令将所有文件的所有权传递给创建的项目。您应该创建一个新的git存储库,并将所有由.gitignore文件排除的文件提交。

使用补丁

存在一个composer.patches.json文件,您可以使用它来定义项目所需的所有补丁。由于szeidler/composer-patches-cli库,您可以使用命令行管理补丁。以下是一些命令,更多详细信息请参阅https://github.com/szeidler/composer-patches-cli

补丁添加

composer patch-add <package> <description> <url>

示例

composer patch-add drupal/core "SA-CORE-2018-002" "https://cgit.drupalcode.org/drupal/rawdiff/?h=8.5.x&id=5ac8738fa69df34a0635f0907d661b509ff9a28f"

您可以省略参数以进入交互模式。

补丁删除

composer patch-remove <package> <description>

示例

composer patch-remove drupal/core "SA-CORE-2018-002"

您可以省略参数以进入交互模式。

补丁列表

composer patch-list <package>

如果省略了包参数,则命令将返回所有定义的补丁。

故障排除

内存限制错误

在执行 "composer install" 时,您可能会遇到一些内存限制问题。这是由于 composer 依赖解析器导致的,因为我们有一个很长的依赖列表。为了绕过这个问题,您有3种选择

选项1

临时增加内存限制,方法请参考https://getcomposer.org.cn/doc/articles/troubleshooting.md#memory-limit-errors

选项2

如果您是第一次创建项目,请使用 "composer create-project" 命令推荐的安装过程。

选项3

运行 "composer update" 两次。第一次运行将会抛出相同的错误,但第二次尝试将会成功执行。