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 on how to set up a TYPO3 instance from scratch.

We highly recommend using the Composer -based installation process. During development you should work locally on your machine, e.g. by running TYPO3 on ddev.

If you need to follow the legacy installation method, see Site package installation without Composer.

Extension installation in Composer mode

From TYPO3 v11.4 if Composer is used, all extensions, including our site package extension, must be installed via Composer.

As a site package is created with site-specific files it is usually best to keep the files together in a version control system such as Git.

Create a directory for local version-controlled extensions at the 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:

page_root/composer.json
{
   "name": "myvendor/site-package",
   "repositories": [
      {
         "type": "path",
         "url": "./packages/*"
      }
   ],
   "require": {
      "typo3/cms-core": "11.4",
      "..." : "..."
   },
   "..." : "..."
}
Copied!

Move your extension folder site_package/ into the packages/ folder. Then require the extension via Composer using the package name defined in the site package extension's composer.json now located at packages/site_package/

packages/site_package/composer.json
{
   "name": "myvendor/site-package"
}
Copied!

require it by:

Execute in directory page_root
composer require myvendor/site-package:@dev
Copied!