01 - Installing Magento2 With Composer (Using)
01 - Installing Magento2 With Composer (Using)
● --repository-url: This is important to be set as the magento packages are not hosted on the
offical packagist. https://repo.magento.com/ is the offical magento composer packages
repository
● <project name>: This would be either enterprise or community editions depending upon your
needs.
❍ magento/project-community-edition
❍ magento/project-enterprise-edition
● <installation directory name>: This will be the directory in which the project install will take
place. If a directory with the given name is not present then a directory will be created. If a
directory with the given name already exists make sure its empty orelse composer installation will
throw an error.
● <version>: This parameter only when you might be interested in a specific version of the magento.
When this parameter is not provided the latest stable version of the package is installed.
auth.json for any composer based project should always be maintained at the project level so that
installation can happen smoothly when setting up a project.
.
├── app
├── auth.json (Maintain's the Authentication Details)
├── bin
├── composer.json
├── composer.lock
├── dev
├── Gruntfile.js.sample (Maintain's the build task details)
├── package.json.sample (Maintain's the NPM package details)
├── php.ini.sample (Maintain's any extra PHP setting)
├── nginx.conf.sample (Maintain's any extra Server setting)
├── index.php
├── lib
├── phpserver
├── pub
├── setup
├── var
└── vendor
{
"github-oauth": {
"github.com": "<github-token>"
},
"http-basic": {
"repo.magento.com": {
"username": "<public-key>",
"password": "<private-key>"
}
}
}
For a development machine the credentials can be maintained at the global level as
well. --global|-g flag can be used to save/generate the auth.json details at the global
level.
Upgrade process for Magento2 should always be in start for the local development
envirnoment and should be deployed upstream
Pre-Upgrade Checklist:
● Get the latest DB backup from the LIVE DB
● Read the release note of the latest version (Helps with troubleshooting)
Upgrade Checklist:
● Change the version number in composer.json file
Enterprise Edition:
Community Edition:
composer require magento/product-community-edition 2.0.13 --no-update
1/3:
http://packagist.org/p/provider-latest$f8ab41abcc30ebd32e890854b1c9ff8fc35ab14288b0
8907d273e0d33901bf69.json
2/3:
http://packagist.org/p/provider-2017-01$dc4b51e62c55b7376405eda54d2b462b241e974d5c0
859b65baea35b819f9c30.json
3/3:
http://packagist.org/p/provider-2016$fa7cd7c3362c529b9aa593a374ec5403379a40ea4dfc15
1ddf00761de867b52e.json
Finished: success: 3, skipped: 0, failure: 0, total: 3
Loading composer repositories with package information
Updating dependencies (including require-dev)
Finished: success: 0, skipped: 0, failure: 2, total: 2
Package operations: 1 install, 196 updates, 0 removals
- Updating magento/framework (100.1.2) to magento/framework (100.1.8)
- Updating magento/framework-foreign-key (100.1.1) to
magento/framework-foreign-key (100.1.3)
- Updating magento/framework-message-queue (100.1.1) to
magento/framework-message-queue (100.1.3)
- Updating magento/module-media-storage (100.1.1) to magento/module-media-storage
(100.1.2)
- Updating magento/module-config (100.1.1) to magento/module-config (100.1.5)
- Updating magento/module-backend (100.1.1) to magento/module-backend (100.1.3)
- Updating magento/module-store (100.1.2) to magento/module-store (100.1.6)
- Updating magento/module-user (100.1.1) to magento/module-user (100.1.3)
- Updating magento/module-variable (100.1.1) to magento/module-variable (100.1.2)
- Updating magento/module-ui (100.1.1) to magento/module-ui (100.1.6)
- Updating magento/module-email (100.1.1) to magento/module-email (100.1.4)
- Updating magento/module-require-js (100.1.2) to magento/module-require-js
(100.1.3)
- Updating magento/module-translation (100.1.1) to magento/module-translation
(100.1.3)
- Updating magento/module-directory (100.1.1) to magento/module-directory
(100.1.4)
- Updating magento/module-theme (100.1.2) to magento/module-theme (100.1.6)
- Updating magento/module-authorization (100.1.1) to magento/module-authorization
(100.1.2)
- Updating magento/module-eav (100.1.2) to magento/module-eav (100.1.6)
- Updating magento/module-catalog (101.0.2) to magento/module-catalog (101.0.8)
- Updating magento/module-quote (100.1.2) to magento/module-quote (100.1.5)
- Updating magento/module-catalog-inventory (100.1.2) to
magento/module-catalog-inventory (100.1.6)
- Updating magento/module-page-cache (100.1.1) to magento/module-page-cache
(100.1.3)
- Updating magento/module-url-rewrite (100.1.1) to magento/module-url-rewrite
(100.1.3)
- Updating magento/module-cms-url-rewrite (100.1.1) to
magento/module-cms-url-rewrite (100.1.2)
- Updating magento/module-cms (101.0.2) to magento/module-cms (101.0.6)
- Updating magento/module-catalog-url-rewrite (100.1.1) to
magento/module-catalog-url-rewrite (100.1.4)
- Updating magento/module-import-export (100.1.1) to magento/module-import-export
(100.1.4)
- Updating magento/module-security (100.1.1) to magento/module-security (100.1.3)
- Updating magento/module-customer (100.1.2) to magento/module-customer (100.1.7)
- Updating magento/module-integration (100.1.1) to magento/module-integration
(100.1.4)
- Updating magento/module-tax (100.1.1) to magento/module-tax (100.1.3)
- Updating magento/module-widget (100.1.1) to magento/module-widget (100.1.4)
- Updating magento/module-sales-rule (100.1.1) to magento/module-sales-rule
(100.1.4)
- Updating magento/module-reports (100.1.1) to magento/module-reports (100.1.4)
- Updating magento/module-catalog-rule (100.1.2) to magento/module-catalog-rule
(100.1.4)
- Updating magento/module-grouped-product (100.1.2) to
magento/module-grouped-product (100.1.4)
- Updating magento/module-msrp (100.1.1) to magento/module-msrp (100.1.3)
- Updating magento/module-rule (100.1.1) to magento/module-rule (100.1.5)
- Updating magento/module-wishlist (100.1.2) to magento/module-wishlist (100.1.5)
- Updating magento/module-shipping (100.1.1) to magento/module-shipping (100.1.3)
- Updating magento/module-checkout (100.1.2) to magento/module-checkout (100.1.7)
- Updating magento/module-payment (100.1.2) to magento/module-payment (100.1.6)
- Updating magento/module-sales (100.1.2) to magento/module-sales (100.1.7)
- Updating magento/module-gift-message (100.1.1) to magento/module-gift-message
(100.1.4)
- Updating magento/module-sales-sequence (100.1.1) to
magento/module-sales-sequence (100.1.3)
- Updating magento/module-rss (100.1.1) to magento/module-rss (100.1.2)
- Updating magento/module-contact (100.1.1) to magento/module-contact (100.1.3)
- Updating magento/module-downloadable (100.1.1) to magento/module-downloadable
(100.1.2)
- Updating magento/module-cron (100.1.1) to magento/module-cron (100.1.3)
- Updating magento/module-newsletter (100.1.1) to magento/module-newsletter
(100.1.3)
- Updating magento/module-review (100.1.1) to magento/module-review (100.1.3)
- Updating magento/module-product-alert (100.1.1) to magento/module-product-alert
(100.1.3)
- Updating magento/module-indexer (100.1.2) to magento/module-indexer (100.1.3)
- Updating magento/module-catalog-import-export (100.1.1) to
magento/module-catalog-import-export (100.1.5)
- Updating magento/module-developer (100.1.1) to magento/module-developer
(100.1.3)
- Updating magento/module-backup (100.1.1) to magento/module-backup (100.1.2)
- Updating magento/module-search (100.1.1) to magento/module-search (100.1.3)
- Updating magento/module-catalog-search (100.1.2) to
magento/module-catalog-search (100.1.6)
- Updating magento/module-staging (100.1.2) to magento/module-staging (100.1.7)
- Updating magento/module-catalog-staging (100.1.2) to
magento/module-catalog-staging (100.1.8)
- Updating magento/module-product-video (100.1.2) to magento/module-product-video
(100.1.5)
- Updating magento/module-product-video-staging (100.1.1) to
magento/module-product-video-staging (100.1.2)
- Updating magento/module-weee-staging (100.1.1) to magento/module-weee-staging
(100.1.2)
- Updating magento/module-rma-staging (100.1.1) to magento/module-rma-staging
(100.1.2)
- Updating magento/module-review-staging (100.1.1) to
magento/module-review-staging (100.1.3)
- Updating magento/module-msrp-staging (100.1.1) to magento/module-msrp-staging
(100.1.2)
- Updating magento/module-google-optimizer-staging (100.1.1) to
magento/module-google-optimizer-staging (100.1.2)
- Updating magento/module-gift-wrapping-staging (100.1.1) to
magento/module-gift-wrapping-staging (100.1.2)
- Updating magento/module-gift-message-staging (100.1.1) to
magento/module-gift-message-staging (100.1.2)
- Updating magento/module-catalog-inventory-staging (100.1.1) to
magento/module-catalog-inventory-staging (100.1.4)
- Updating magento/module-layered-navigation (100.1.1) to
magento/module-layered-navigation (100.1.2)
- Updating magento/module-layered-navigation-staging (100.1.1) to
magento/module-layered-navigation-staging (100.1.2)
- Updating magento/module-search-staging (100.1.1) to
magento/module-search-staging (100.1.2)
- Updating magento/module-sales-rule-staging (100.1.2) to
magento/module-sales-rule-staging (100.1.6)
- Updating magento/module-catalog-rule-staging (100.1.2) to
magento/module-catalog-rule-staging (100.1.4)
- Updating magento/module-advanced-search (100.1.1) to
magento/module-advanced-search (100.1.2)
- Updating magento/module-elasticsearch (100.1.1) to magento/module-elasticsearch
(100.1.4)
- Updating magento/module-resource-connections (100.1.1) to
magento/module-resource-connections (100.1.2)
- Updating magento/module-website-restriction (100.1.1) to
magento/module-website-restriction (100.1.2)
- Updating magento/module-visual-merchandiser (100.1.1) to
magento/module-visual-merchandiser (100.1.5)
- Updating magento/module-versions-cms (100.1.1) to magento/module-versions-cms
(100.1.3)
- Updating magento/module-advanced-rule (100.1.1) to magento/module-advanced-rule
(100.1.2)
- Updating magento/module-customer-segment (100.1.1) to
magento/module-customer-segment (100.1.3)
- Updating magento/module-target-rule (100.1.2) to magento/module-target-rule
(100.1.6)
- Updating magento/module-scheduled-import-export (100.1.1) to
magento/module-scheduled-import-export (100.1.3)
- Updating magento/module-scalable-oms (100.1.1) to magento/module-scalable-oms
(100.1.3)
- Updating magento/module-scalable-inventory (100.1.1) to
magento/module-scalable-inventory (100.1.2)
- Updating magento/module-scalable-checkout (100.1.1) to
magento/module-scalable-checkout (100.1.3)
- Updating magento/module-advanced-sales-rule (100.1.1) to
magento/module-advanced-sales-rule (100.1.2)
- Updating magento/module-advanced-catalog (100.1.1) to
magento/module-advanced-catalog (100.1.3)
- Updating magento/module-sales-archive (100.1.1) to magento/module-sales-archive
(100.1.3)
- Updating magento/module-custom-attribute-management (100.1.1) to
magento/module-custom-attribute-management (100.1.2)
- Updating magento/module-customer-custom-attributes (100.1.1) to
magento/module-customer-custom-attributes (100.1.3)
- Updating magento/module-rma (100.1.1) to magento/module-rma (100.1.4)
- Updating magento/module-invitation (100.1.1) to magento/module-invitation
(100.1.2)
- Updating magento/module-reward (100.1.1) to magento/module-reward (100.1.2)
- Updating magento/module-reminder (100.1.1) to magento/module-reminder (100.1.2)
- Updating magento/module-banner (100.1.1) to magento/module-banner (100.1.3)
- Updating magento/module-promotion-permissions (100.1.1) to
magento/module-promotion-permissions (100.1.2)
- Updating magento/module-gift-card (101.0.2) to magento/module-gift-card
(101.0.5)
- Updating magento/module-bundle (100.1.1) to magento/module-bundle (100.1.3)
- Updating magento/module-price-permissions (100.1.1) to
magento/module-price-permissions (100.1.2)
- Updating magento/module-persistent (100.1.1) to magento/module-persistent
(100.1.3)
- Updating magento/module-persistent-history (100.1.1) to
magento/module-persistent-history (100.1.2)
- Updating magento/module-cybersource (100.1.1) to magento/module-cybersource
(100.1.3)
- Updating magento/module-advanced-checkout (100.1.2) to
magento/module-advanced-checkout (100.1.4)
- Updating magento/module-multiple-wishlist (100.1.1) to
magento/module-multiple-wishlist (100.1.2)
- Updating magento/module-logging (100.1.1) to magento/module-logging (100.1.3)
- Updating magento/module-gift-wrapping (100.1.1) to magento/module-gift-wrapping
(100.1.5)
- Updating magento/module-gift-registry (100.1.1) to magento/module-gift-registry
(100.1.2)
- Updating magento/module-gift-card-import-export (100.1.1) to
magento/module-gift-card-import-export (100.1.2)
- Updating magento/module-customer-balance (100.1.1) to
magento/module-customer-balance (100.1.2)
- Updating magento/module-gift-card-account (100.1.1) to
magento/module-gift-card-account (100.1.3)
- Updating magento/module-gift-card-staging (100.1.1) to
magento/module-gift-card-staging (100.1.3)
- Updating magento/module-catalog-permissions (100.1.1) to
magento/module-catalog-permissions (100.1.2)
- Updating magento/module-catalog-event (100.1.1) to magento/module-catalog-event
(100.1.2)
- Updating magento/module-enterprise (100.1.1) to magento/module-enterprise
(100.1.2)
- Updating magento/module-customer-import-export (100.1.1) to
magento/module-customer-import-export (100.1.3)
- Updating magento/module-customer-finance (100.1.1) to
magento/module-customer-finance (100.1.2)
- Updating magento/module-catalog-import-export-staging (100.1.1) to
magento/module-catalog-import-export-staging (100.1.2)
- Updating magento/module-banner-customer-segment (100.1.1) to
magento/module-banner-customer-segment (100.1.2)
- Updating magento/module-checkout-agreements (100.1.1) to
magento/module-checkout-agreements (100.1.2)
- Updating magento/module-admin-gws (100.1.1) to magento/module-admin-gws
(100.1.4)
- Updating magento/module-cookie (100.1.1) to magento/module-cookie (100.1.2)
- Updating magento/module-google-analytics (100.1.1) to
magento/module-google-analytics (100.1.2)
- Updating magento/module-google-tag-manager (100.1.1) to
magento/module-google-tag-manager (100.1.3)
- Updating magento/module-eway (100.1.1) to magento/module-eway (100.1.3)
- Updating magento/module-mysql-mq (100.1.1) to magento/module-mysql-mq (100.1.3)
- Updating magento/module-message-queue (100.1.1) to magento/module-message-queue
(100.1.3)
- Updating magento/module-solr (100.1.1) to magento/module-solr (100.1.3)
- Updating magento/module-support (100.1.1) to magento/module-support (100.1.4)
- Updating magento/module-payment-staging (100.1.1) to
magento/module-payment-staging (100.1.3)
- Updating magento/module-grouped-product-staging (100.1.1) to
magento/module-grouped-product-staging (100.1.3)
- Updating magento/module-downloadable-staging (100.1.1) to
magento/module-downloadable-staging (100.1.2)
- Updating magento/module-configurable-product (100.1.2) to
magento/module-configurable-product (100.1.8)
- Updating magento/module-configurable-product-staging (100.1.1) to
magento/module-configurable-product-staging (100.1.3)
- Updating magento/module-cms-staging (100.1.2) to magento/module-cms-staging
(100.1.5)
- Updating magento/module-checkout-staging (100.1.1) to
magento/module-checkout-staging (100.1.3)
- Updating magento/module-bundle-staging (100.1.1) to
magento/module-bundle-staging (100.1.3)
- Updating magento/module-catalog-url-rewrite-staging (100.1.1) to
magento/module-catalog-url-rewrite-staging (100.1.2)
- Updating magento/module-worldpay (100.1.1) to magento/module-worldpay (100.1.3)
- Updating magento/module-amqp (100.1.1) to magento/module-amqp (100.1.2)
- Updating magento/zendframework1 (1.12.16) to magento/zendframework1
(1.12.16-patch3)
- Updating colinmollenhour/php-redis-session-abstract (v1.1) to
colinmollenhour/php-redis-session-abstract (v1.2)
- Updating magento/language-zh_hans_cn (100.1.0) to magento/language-zh_hans_cn
(100.1.1)
- Updating magento/language-pt_br (100.1.0) to magento/language-pt_br (100.1.1)
- Updating magento/language-nl_nl (100.1.0) to magento/language-nl_nl (100.1.1)
- Updating magento/language-fr_fr (100.1.0) to magento/language-fr_fr (100.1.1)
- Updating magento/language-es_es (100.1.0) to magento/language-es_es (100.1.1)
- Updating magento/language-en_us (100.1.0) to magento/language-en_us (100.1.1)
- Updating magento/language-de_de (100.1.0) to magento/language-de_de (100.1.1)
- Updating magento/theme-frontend-blank (100.1.1) to magento/theme-frontend-blank
(100.1.6)
- Updating magento/theme-frontend-luma (100.1.1) to magento/theme-frontend-luma
(100.1.7)
- Updating magento/theme-adminhtml-backend (100.1.1) to
magento/theme-adminhtml-backend (100.1.2)
- Updating magento/module-weee (100.1.1) to magento/module-weee (100.1.2)
- Updating magento/module-webapi (100.1.1) to magento/module-webapi (100.1.4)
- Updating magento/module-webapi-security (100.1.1) to
magento/module-webapi-security (100.1.2)
- Updating magento/module-version (100.1.1) to magento/module-version (100.1.2)
- Updating magento/module-vault (100.1.1) to magento/module-vault (100.2.2)
- Updating magento/module-usps (100.1.1) to magento/module-usps (100.1.3)
- Updating magento/module-ups (100.1.1) to magento/module-ups (100.1.4)
- Updating magento/module-tax-import-export (100.1.1) to
magento/module-tax-import-export (100.1.2)
- Updating magento/module-swatches-layered-navigation (100.1.1) to
magento/module-swatches-layered-navigation (100.1.2)
- Updating magento/module-swatches (100.1.1) to magento/module-swatches (100.1.7)
- Updating magento/module-swagger (100.1.1) to magento/module-swagger (100.1.2)
- Updating magento/module-sitemap (100.1.1) to magento/module-sitemap (100.1.4)
- Updating magento/module-send-friend (100.1.1) to magento/module-send-friend
(100.1.2)
- Updating magento/module-sample-data (100.1.1) to magento/module-sample-data
(100.1.3)
- Installing magento/module-sales-inventory (100.1.1)
- Updating magento/module-paypal (100.1.1) to magento/module-paypal (100.1.6)
- Updating magento/module-offline-shipping (100.1.1) to
magento/module-offline-shipping (100.1.3)
- Updating magento/module-offline-payments (100.1.1) to
magento/module-offline-payments (100.1.2)
- Updating magento/module-new-relic-reporting (100.1.1) to
magento/module-new-relic-reporting (100.1.3)
- Updating magento/module-multishipping (100.1.1) to magento/module-multishipping
(100.1.2)
- Updating magento/module-grouped-import-export (100.1.1) to
magento/module-grouped-import-export (100.1.2)
- Updating magento/module-google-optimizer (100.1.1) to
magento/module-google-optimizer (100.1.2)
- Updating magento/module-google-adwords (100.1.1) to
magento/module-google-adwords (100.1.2)
- Updating magento/module-fedex (100.1.1) to magento/module-fedex (100.1.3)
- Updating magento/module-encryption-key (100.1.1) to
magento/module-encryption-key (100.1.2)
- Updating magento/module-downloadable-import-export (100.1.1) to
magento/module-downloadable-import-export (100.1.2)
- Updating magento/module-dhl (100.1.1) to magento/module-dhl (100.1.3)
- Updating magento/module-deploy (100.1.2) to magento/module-deploy (100.1.5)
- Updating magento/module-currency-symbol (100.1.1) to
magento/module-currency-symbol (100.1.2)
- Updating magento/module-configurable-import-export (100.1.1) to
magento/module-configurable-import-export (100.1.3)
- Updating magento/module-catalog-widget (100.1.1) to
magento/module-catalog-widget (100.1.3)
- Updating magento/module-catalog-rule-configurable (100.1.2) to
magento/module-catalog-rule-configurable (100.1.3)
- Updating magento/module-captcha (100.1.1) to magento/module-captcha (100.1.3)
- Updating magento/module-cache-invalidate (100.1.1) to
magento/module-cache-invalidate (100.1.3)
- Updating magento/module-bundle-import-export (100.1.1) to
magento/module-bundle-import-export (100.1.3)
- Updating magento/module-braintree (100.1.2) to magento/module-braintree
(100.1.6)
- Updating magento/module-authorizenet (100.1.2) to magento/module-authorizenet
(100.1.5)
- Updating magento/module-advanced-pricing-import-export (100.1.1) to
magento/module-advanced-pricing-import-export (100.1.3)
- Updating magento/module-admin-notification (100.1.1) to
magento/module-admin-notification (100.1.2)
- Updating magento/module-marketplace (100.1.1) to magento/module-marketplace
(100.1.2)
- Updating magento/magento2-base (2.1.2) to magento/magento2-base (2.1.8)
- Updating magento/product-community-edition (2.1.2) to
magento/product-community-edition (2.1.8)
- Updating magento/magento2-ee-base (2.1.2) to magento/magento2-ee-base (2.1.8)
- Updating magento/product-enterprise-edition (2.1.2) to
magento/product-enterprise-edition (2.1.8)
Package fabpot/php-cs-fixer is abandoned, you should avoid using it. Use
friendsofphp/php-cs-fixer instead.
● Gather the information of the modules which will be effected by this update
● Run composer update
● Clear out the magento cache and related folders:
● If any external cache system's like **REDIS- or **Varnish- have been implemented then
cache:clean and cache:flush commands also needs to be executed:
├── cache
├── composer_home
├── generation
├── log
├── import
├── page_cache
├── tmp
└── view_preprocessed
● Run DI Compile
rm -rf pub/static/*
php bin/magento setup:static-content:deploy
Make sure that the packages are available on the Packgist website search
GitHub Modules:
● If the Github repository no registered on the Packgist website then the repository needs to be
registered to the composer.json file
{
...
"repositories": {
"magesycho-magento2-custom-shipping": {
"type": "git",
"url": "https://github.com/MagePsycho/magento2-custom-shipping.git"
}
}
}
● Finally composer require can be used to download the module
Supported Components
Magento Module
"type": "magento2-module"
Example:
{
"name": "magento/module-core",
"description": "N/A",
"require": {
...
},
"type": "magento2-module",
"extra": {
"map": [
[
"*",
"Magento/Core"
]
]
}
}
Magento Theme
"type": "magento2-theme"
Example:
{
"name": "magento/theme-frontend-luma",
"description": "N/A",
"require": {
...
},
"type": "magento2-theme",
"extra": {
"map": [
[
"*",
"frontend/Magento/luma"
]
]
}
}
"type": "magento2-language"
{
"name": "magento/language-de_de",
"description": "German (Germany) language",
"require": {
...
},
"type": "magento2-language",
"extra": {
"map": [
[
"*",
"Magento/de_DE"
]
]
}
}
Magento Library
"type": "magento2-library"
Example:
{
"name": "magento/framework",
"description": "N/A",
"require": {
...
},
"type": "magento2-library",
"extra": {
"map": [
[
"*",
"Magento/Framework"
]
]
}
}
Magento Component
"type": "magento2-component"
Installation location: Magento root directory
Example:
{
"name": "magento/migration-tool",
"description": "N/A",
"require": {
...
},
"type": "magento2-component",
"extra": {
"map": [
[
"*",
"dev/tools/Magento/Tools/Migration"
]
]
}
}
rm -rf ./vendor/*
composer install [--no-dev]
● Always run composer install on every git fetch or keep track on when composer.json got
changed
● Always commit your composer.json and composer.lock file on every composer require / composer
remove / composer update
If there are some patches applied you might have to apply them manually.
10 - Patching Magento2
Deploying patches in Magento 2 is very different than what used to do in Magento 1.
● https://github.com/cweagans/composer-patches
● https://github.com/magento/magento2/pull/5978/
● https://github.com/allanpaiste/magento2-patches
● https://github.com/netresearch/composer-patches-plugin