3

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

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

我可以轻松地设置我的系统以进行 TYPO3 核心开发(使用或不使用 DDEV),因为这是有据可查的。但是,该方法克隆了 TYPO3 核心并适用于当前的开发大师。我宁愿只安装最后一个 TYPO3 版本。

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

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

使用 TYPO3 9.5。

4

3 回答 3

2

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

在 composer.json 中,您必须声明另一个类型的存储库,"path"如下所示:

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

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

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

于 2019-07-14T11:50:05.853 回答
0

如果你想使用 DDEV 和 Composer(你应该这样做),有一个简单的方法来设置你的 TYPO3:
DDEV 的 TYPO3 快速入门指南

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

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

于 2019-07-15T06:40:09.893 回答
0

但是,该方法克隆了 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因为这是稍后安装您的扩展程序的方式,您应该确保它可以正常工作。当您安装了与您的常用扩展一起使用的其他扩展时,这也有助于识别不兼容的依赖项。

我建议的一件事是在您的 composer.json 中设置一个额外的存储库,指向您的扩展,而不是立即在 packagist 注册它。如果您想从 git 存储库(例如 github)下载扩展,您可能想要设置一个 VCS 存储库,或者如果您只想从您开发它的目录符号链接您的扩展,则可以使用路径存储库。同一台机器。当您还不想发布扩展,但想确保它们在安装在任何其他 TYPO3 安装中时行为正确时,这两种方式都很好。

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

于 2019-07-14T07:25:28.920 回答