Introduzione
Magento 2 si gestisce tramite Composer, il package manager standard di PHP. Tutti i moduli, le patch e le dipendenze vanno gestite tramite composer.json e composer.lock, evitando modifiche manuali al core.
File chiave
- composer.json: dichiara le dipendenze, versioni e repository.
- composer.lock: snapshot delle versioni installate, va sempre committato.
- auth.json: contiene credenziali per repo.magento.com e marketplace privati, mai committato in git.
Aggiungere un modulo
Esempio modulo da repository pubblico:
composer require vendor/modulo-magento:^1.0.0
Dopo l'installazione del pacchetto:
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy -f
php bin/magento cache:flush
Aggiornare moduli
Per aggiornare un singolo modulo: composer update vendor/modulo-magento --with-dependencies. Per aggiornare tutto (rischioso in produzione): composer update. Sempre testare in staging.
Aggiornare Magento stesso
L'upgrade della versione Magento si fa cambiando il vincolo in composer.json (es. "magento/product-community-edition": "2.4.7") e poi:
composer update --with-all-dependencies
Seguire la procedura di Adobe per ogni minor release e leggere le release notes.
Patch composer
Magento distribuisce patch ufficiali tramite Quality Patch Tool: composer require magento/quality-patches. Il comando vendor/bin/magento-patches apply MDVA-XXXXX applica patch specifiche.
Ambienti dev vs prod
In produzione si usa composer install --no-dev --optimize-autoloader per evitare di scaricare dipendenze di sviluppo. In sviluppo si include --prefer-source se serve modificare i file vendor temporaneamente.
Repository privati
Per moduli a pagamento si aggiunge il repo in composer.json:
{ "repositories": [ { "type": "composer", "url": "https://repo.vendor.com" } ] }
Credenziali in auth.json sotto http-basic. Mai esporre auth.json su Git pubblico.
Hai bisogno di aiuto?
Se vuoi un Magento ottimizzato dal team di G Tech Group, scrivici tramite il modulo di contatto.