webkings-ca/gocomposer

将Drupal 8站点转换为最新的Composer管理模板

安装数: 1,798

依赖项: 1

建议者: 0

安全: 0

星标: 12

关注者: 1

分支: 1

开放问题: 0

类型:composer-plugin

dev-master / 1.x-dev 2019-02-01 00:00 UTC

This package is auto-updated.

Last update: 2021-12-29 03:10:48 UTC


README

GoComposer是将现有Drupal 8站点更新到最新完全Composer管理模板的完整解决方案。它将来自drupal-project的模板自动应用到您的站点。

只需将GoComposer插件添加到您的项目中,运行一个命令,让此插件完成其余工作...

此插件的目标是将所有Drupal 8安装转换为通用默认模板。

将您的Drupal 8安装修改为该模板将简化未来Drupal 8核心和贡献模块的更新。强烈建议您切换到该模板

目标受众

如果您当前的项目是以下情况之一的Drupal 8站点,那么GoComposer就是您的唯一解决方案

  • 情况1:您最初通过Composer使用已弃用的drupal/drupal包安装了您的站点。
  • 情况2:您从tar.gzzip文件中安装了您的站点。
  • 情况3:您使用git cloneDrupal.org主仓库安装了您的站点。

先决条件

  • 强烈建议您在本地环境中实施此更新,然后更新您的生产站点
  • 您必须能够访问bash shell命令行以运行此插件。在Mac上,只需使用Terminal。在Windows 10上,建议安装Ubuntu Bash shell
  • 您必须在本地环境中全局安装Composer,如果您还没有这样做,请按照此处的说明下载可执行文件并此处将其添加到您的路径

功能

运行gocomposer命令将自动更新您现有的自定义站点到最新和最好的Drupal 8版本。

gocomposer命令将执行以下操作

  • 备份您现有的站点文件和数据库,并将它们放置在项目根目录下新建的backup文件夹中。

  • drupal-project下载最新模板,并将其放置在临时文件夹中

  • 提取template.composer.json,然后将其填充为您的现有站点依赖项,并将其保存为项目根目录中的新composer.json文件

  • 修改您整个站点的文件夹结构到新格式。将以下目录移动到新的/web docroot

    • /core
    • /sites
    • /libraries
    • /profiles
    • /modules
    • /themes
  • 在保留现有项目依赖项的同时,更新您的Drupal核心贡献模块到最新当前版本。

  • 自动将当前环境变量保存到项目根目录外的 .env 文件,以提高安全性和未来兼容性。

  • 自动更新 settings.php 文件,以从上面创建的 .env 文件中获取环境变量。旧的 setting.php 文件将被保存为项目根目录下的 settings_orig.php

  • 自动更新 Drupal Scaffolding 文件,如 index.phpupdate.phprobots.txt 等,到最新版本。

  • 运行最终的清理脚本,包括更新您的数据库。

安装

cd path/to/drupal/project/repo

composer require webkings-ca/gocomposer:dev-master

使用方法

cd path/to/drupal/project/repo

composer require webkings-ca/gocomposer:dev-master

composer gocomposer

确保您位于项目根目录下,其中包含 .git 文件。

示例

# Drupal Root is located in a `~/Sites/Drupal8project` subdirectory.

cd ~/Sites/Drupal8project

composer require webkings-ca/gocomposer:dev-master

composer gocomposer

演示

您可以在 这里观看使用此插件的视频演示。

Drupal 8 GoComposer Demo

最终文件夹结构

运行 GoComposer 后,您的网站结构将如下所示:

Final Folder Structure

故障排除

如果您因为当前配置无法引入 webkings-ca/gocomposer,请尝试以下操作:

# Drupal Root is located in a `~/Sites/Drupal8project` subdirectory.

cd ~/Sites/Drupal8project

rm -rf vendor

composer require webkings-ca/gocomposer:dev-master

composer gocomposer

如果您遇到任何问题,请在 问题队列 中创建问题。

致谢

此项目的代码库模板取自 composerize-drupal 插件。它已被大量修改以实现其当前的功能。

享受吧!