-
Couldn't load subscription status.
- Fork 12
Installation Guide
The current repository contains modules that belong to Page Builder functionality only. To provide the ability to develop the project locally we introduced a development workflow that can help external developers work with the project.
-
Clone the
magento2git repository and check out the latest develop branch, e.g.2.4-develop. You may also check out and use any2.4release tags.git clone git@github.com:magento/magento2.git . -
Create an
extdirectory in the root of themagento2project directory:cd magento2 mkdir ext -
Clone the
magento2-page-builderrepository into the appropriate directory insideext:git clone git@github.com:magento/magento2-page-builder.git ext/magento/magento2-page-builder
-
Update Composer settings for the project to allow a better development workflow:
-
minimum-stabilityfor packages is updated todevvalue. This allows installation of development modules:composer config minimum-stability dev -
To be able to work with stable packages enable the
prefer-stableproperty:prefer-stable: true. It should be included right above theminimum-stabilitysetting. -
Next we configure Composer so that it knows where to find new modules. The following command will configure any extension code inside the
extdirectory to be treated as a package and symlinked to thevendordirectory:composer config repositories.ext path "./ext/*/*/*/*/*/*"
-
-
Finally, install the
page-buildermetapackage:composer require magento/page-builder
At this point, all of the page-builder modules are symlinked inside the vendor directory, which allows both running a Magento installation with additional modules as well as doing development using the standard git workflow.
You may need to ensure that there are no Magento_PageBuilder* modules are listed as disabled when you run bin/magento module:status. If they are, follow the docs on how to enable modules.
In order to improve the developer experience when working with this repository structure, a few additional items may be configured:
-
Exclude
extdirectories from root directory Git:echo ext >> ./.git/info/exclude
-
Skip root directory
composer.*files to avoid committing them by mistake:git update-index --skip-worktree composer.json git update-index --skip-worktree composer.lock
This operation is reversible, if needed:
git update-index --no-skip-worktree composer.json git update-index --no-skip-worktree composer.lock