【问题标题】:Setup TYPO3 locally for extension development在本地设置 TYPO3 以进行扩展开发
【发布时间】:2019-11-23 06:50:01
【问题描述】:

我想在本地设置 TYPO3 以进行扩展开发。

我在 Linux 上工作(但我们假设答案应该对 Mac 和 Windows 有帮助,因为这是最常用的)。

因为that is very well documented,我可以轻松设置我的系统以进行 TYPO3 核心开发(使用或不使用 DDEV)。但是,该方法克隆了 TYPO3 核心并适用于当前的开发大师。我宁愿只安装最新的 TYPO3 版本。

这里有什么好的方法?我希望尽可能少的外部依赖。另外,我应该用 Composer 安装 TYPO3 吗?虽然通常建议使用 Composer,但是否建议在本地开发扩展?

由于我将在该系统上开发一个扩展,我希望所做的更改立即生效(并且不必通过外部 git 存储库或 packageagist 的往返)。

使用 TYPO3 9.5。

【问题讨论】:

  • 您现在找到了适合您的设置吗?
  • 对于我自己,我找到了解决方案。我不仅为自己提出了这个问题,而且还记录了这个问题,以了解人们在做什么。回想起来,我认为我应该更具体地提出这个问题。

标签: composer-php typo3


【解决方案1】:

使用 DDEV 和 Composer,您可以轻松安装本地扩展。

在 composer.json 中,您必须像这样声明另一个 "path" 类型的存储库:

"repositories": [
    {
        "type": "composer",
        "url": "https://composer.typo3.org/"
    },
    {
        "type": "path",
        "url": "./packages/*"
    }
],

将您的扩展程序放在该文件夹中,您可以composer require 您的扩展程序。 (你的扩展需要它自己的 composer.json)。 Composer 将在 packageges-folde 中找到您的扩展,并将其符号链接到您的安装中。
您的扩展程序中的任何更改都将立即生效。

这里有描述:https://docs.typo3.org/m/typo3/guide-installation/master/en-us/MigrateToComposer/BestPractices.html

【讨论】:

    【解决方案2】:

    但是,该方法克隆了 TYPO3 核心并适用于当前的开发大师。我宁愿只安装最新的 TYPO3 版本。

    如果您想节省空间或不需要 TYPO3 的 git 存储库提供的历史记录,您可以通过提供 --depth 选项来执行所谓的浅克隆,并使用 --branch 指定要签出的分支,然后名称,例如9.5 如果您想查看最新的 9.5 分支。如果您想签出一个版本而不是最新的开发版本,这也适用于标签而不是分支名称。 如果您的参考存储库也使用子模块,您可能还需要添加 --shallow-submodules 作为附加选项。

    git clone --depth 1 --branch 9.5 ...
    

    这将提供一个非常小的克隆来使用,并且应该加快主安装的初始下载过程。

    另外,我应该用 Composer 安装 TYPO3 吗?虽然通常建议使用 Composer,但是否建议在本地开发扩展?

    是的,我建议这样做,或者至少让 composer.json 可用。然后,您应该像使用composer require 一样安装您的扩展程序,因为这是稍后安装您的扩展程序的方式,您应该确保它可以正常工作。当您安装了与您的常用扩展一起使用的其他扩展时,这也有助于识别不兼容的依赖项。

    我建议的一件事是有一个 additional repository set up in your composer.json 指向您的扩展程序,而不是立即在 packagist 注册它。如果你想从 git 存储库下载扩展,你可能想要设置一个 VCS 存储库,例如github,或者您可以使用path-repository,如果您只想从您在同一台机器上开发它的目录中符号链接您的扩展。当您还不想发布扩展,但想确保它们在安装到任何其他 TYPO3 安装中时表现正确时,这两种方式都很好。

    特别是在早期开发中,我更喜欢路径存储库,因为您可以在自己的存储库中开发扩展,并且您所做的每项更改仍将立即在参考项目中可用,因为文件是符号链接的(默认情况下)。

    【讨论】:

      【解决方案3】:

      如果你想使用 DDEV 和 Composer(你应该这样做),有一个简单的方法来设置你的 TYPO3:
      TYPO3 Quickstart Guide for DDEV

      您发布的指南是 TYPO3 贡献指南,它是为 TYPO3 做出贡献所必需的,但是仅仅开发一个扩展,检查核心可能有点多。

      始终建议将 TYPO3 与 composer 一起使用,因为它在更新依赖项时为您省去了很多麻烦,并为您提供了许多不错的功能,例如脚本。

      【讨论】:

        猜你喜欢
        • 2020-08-15
        • 1970-01-01
        • 1970-01-01
        • 2012-07-01
        • 1970-01-01
        • 2019-06-23
        • 1970-01-01
        • 2021-12-26
        • 2019-10-30
        相关资源
        最近更新 更多