-
Notifications
You must be signed in to change notification settings - Fork 8
Installation
The current repository contains modules that belong to Adobe IMS functionality only. In order to use the Magento Adobe IMS the package needs to be installed on top of magento2 framework installation.
-
Clone the
magento2
git repository and check out the2.4-develop
branch. You may also check out and use any2.4
release tags.git clone [email protected]:magento/magento2.git .
-
Create an
ext
directory in the root of themagento2
project directory:cd magento2 mkdir ext
-
Clone the
adobe-ims
repository into the appropriate directory insideext
:git clone [email protected]:magento/adobe-ims.git ext/magento/adobe-ims
-
Update Composer settings for the project to allow a better development workflow:
-
minimum-stability
for packages is updated todev
value. This allows installation of development modules:composer config minimum-stability dev
-
To be able to work with stable packages enable the
prefer-stable
property:prefer-stable: true
. It should be included right above theminimum-stability
setting. -
Next we configure Composer so that it knows where to find new modules. The following command will configure any extension code inside the
ext
directory to be treated as a package and symlinked to thevendor
directory:composer config repositories.ext path "./ext/*/*/*"
-
-
Finally, install the
adobe-ims
metapackage:composer require adobe-commerce/adobe-ims-metapackage
-
Install/Upgrade the database
bin/magento setup:install ... or bin/magento setup:upgrade
At this point, all of the adobe-ims
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.
In order to improve the developer experience when working with this repository structure, a few additional items may be configured:
-
Exclude
ext
directories 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