-
Notifications
You must be signed in to change notification settings - Fork 5
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
magento2git repository and check out the2.4-developbranch. You may also check out and use any2.4release tags.git clone [email protected]:magento/magento2.git .
-
Create an
extdirectory in the root of themagento2project directory:cd magento2 mkdir ext -
Clone the
adobe-imsrepository 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-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
adobe-imsmetapackage: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
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