aegir / hostmaster-project

Aegir Hostmaster的项目模板。

dev-master 2020-01-01 15:36 UTC

This package is auto-updated.

Last update: 2024-08-29 05:28:44 UTC


README

此项目模板为Aegir Hostmaster Drupal发行版的入门套件。

用法

首先您需要安装composer

注意:以下说明参考了全局composer安装。您可能需要根据您的配置将composer替换为php composer.phar(或类似)。

之后您可以创建项目

composer create-project aegir/hostmaster-project:dev-master --no-interaction /var/aegir/hostmaster-7.x-4.x

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

cd some-dir
composer require drupal/devel:~1.0

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

模板做什么?

在安装给定的composer.json时,一些任务会得到处理

  • Drupal将安装在web目录下。
  • 模块(类型为drupal-module的包)将放在web/sites/all/modules/contrib/
  • 主题(类型为drupal-module的包)将放在web/sites/all/themes/contrib/
  • 配置文件(类型为drupal-profile的包)将放在web/profiles/
  • 库(类型为drupal-library的包)将放在web/sites/all/libraries/(见库)
  • 帮助使用其他PHP包,几乎类似于Drupal 8版本
  • 创建默认可写版本的settings.php
  • 创建web/sites/default/files目录。
  • 将最新版本的drush安装在本地,以便在vendor/bin/drush中使用。

从现有项目生成composer.json

使用"Composer Generate" drush扩展,您现在可以从现有项目中生成基本的composer.json文件。请注意,生成的composer.json可能与本项目文件不同。

如何在您的Drupal 7网站上启用Composer自动加载器

骨架已安装了composer_autoloader模块。只需在启用任何可能依赖各种包的模块之前,在网站上启用它即可。

库通常是需要公开可用的额外包(CSS和JS)。通常这些包不是使用Composer维护的,但如果您想拥有100%的Composer部署并从composer.json中受益,您可以使用此示例,更改repositories部分并在require部分中添加


"repositories": [
  ...
  {
    "type": "package",
    "package": {
        "name": "kenwheeler/slick",
        "version": "1.6.0",
        "dist": {
            "url": "https://github.com/kenwheeler/slick/archive/1.6.0.zip",
            "type": "zip"
        },
        "source": {
            "url": "https://github.com/kenwheeler/slick.git",
            "type": "git",
            "reference": "1.6.0"
        },
        "type": "drupal-library"
    }
  }
],
"require": {
  ...
  "kenwheeler/slick": "~1.6.0"
},

之后运行composer update --lock来安装仅手动管理的包。(如果您只添加包定义,也可以运行composer require "kenwheeler/slick:~1.6.0"

常见问题解答

我应该提交下载的contrib模块吗?

Composer建议不要。他们提供了论证,但也提供了如果项目决定这样做的话的解决方案。

如何应用下载的模块的补丁?

如果您需要应用补丁(根据正在修改的项目,pull request通常是更好的解决方案),您可以使用composer-patches插件。

要向drupal模块foobar添加补丁,请在composer.json的extra部分中插入patches部分

"extra": {
    "patches": {
        "drupal/foobar": {
            "Patch description": "URL or local path to patch"
        }
    }
}

如何从packagist.drupal-composer.org切换到packages.drupal.org?

请遵循在 drupal.org 上的文档中的说明。

如何指定 PHP 版本?

此项目支持 PHP 5.3 作为最低版本(见 Drupal 7 PHP 要求),然而,执行 composer update 可能会升级某些包,从而需要 PHP 7+。

为了防止这种情况,您可以在 composer.json 文件的 config 部分添加以下代码来指定您希望使用的 PHP 版本:

"config": {
    "sort-packages": true,
    "platform": {
        "php": "5.3.3"
    }
},