Extension installation¶
This tutorial assumes that your TYPO3 instance is a brand new installation, without any themes, templates, pages or content. See the TYPO3 Installation Guide for a detailed explanation how to set up a TYPO3 instance from scratch.
We highly recommend to use the Composer -based installation process. During development you should work locally on your machine for example by running TYPO3 on ddev.
If you need to follow the legacy way of installation, see Site package installation without Composer.
Extension installation in Composer mode¶
Starting with TYPO3 11.4 if composer is used, all extensions, including the site package extension must be installed via Composer.
As a site package is usually developed together with the site-specific files it is usually desirable to keep them together in a version control system like Git.
Therefore create a directory for all locally version-controlled extension at
root-level of your Composer -based installation. The name is arbitrary, we use
packages
here.
Then edit your composer.json
in the root of your installation directory
to add the path as a local repository.
Add the following lines:
{
"name": "myvendor/my-project",
"repositories": [
{
"type": "path",
"url": "./packages/*"
}
],
"require": {
"typo3/cms-core": "^11.4",
"..." : "..."
},
"..." : "..."
}
Move your the extension folder site_package
directly into the folder
packages
. Then require the extension via Composer using the
name
defined in the site package extensions composer.json
now located
at packages/site_package/
. For example if you defined the name as
{
"name": "myvendor/site-package-myproject"
}
require it by:
composer require myvendor/site-package:@dev
Project file structure¶
Your project should now have the following structure:
-
-
-
-
-
config.yaml
-
-
-
-
packages
Hint
Starting with TYPO3 11.4 all extensions required via Composer are automatically considered active. In previous versions it is still necessary to activate the extension after the Composer-based installation via the Extension Manager.