General CLI installation

Code that extends or customizes Magento behavior is called an extension. You can optionally package and distribute extensions on the Magento Marketplace or another Magento extension distribution system.

Extensions include:

  • Modules (extend Magento capabilities)
  • Themes (change the look and feel of your storefront and Admin)
  • Language packages (localize the storefront and Admin)

This topic explains how to use the command line to install extensions you purchase from the Magento Marketplace. You can use the same procedure to install any extension; all you need is the extension’s Composer name and version. To find it, open the extension’s composer.json file and note the values for "name" and "version".

Prior to installation, you may want to:

  1. Back up your database.
  2. Enable maintenance mode:

    1
    
     bin/magento maintenance:enable
    

To install an extension, you must:

  1. Get an extension from the Magento Marketplace or another extension developer.
  2. Get the extension’s Composer name and version.
  3. Update the composer.json file in your Magento project with the name and version of the extension.
  4. Verify that the extension installed properly.
  5. Enable and configure the extension.

Get the extension’s Composer name and version

If you already know the extension’s Composer name and version, skip this step and continue with Update your composer.json file.

To get the extension’s Composer name and version from the Magento Marketplace:

  1. Log in to Magento Marketplace with the username and password you used to purchase the extension.

  2. In the upper-right corner, click Your name > My Profile.

    Access your Marketplace account

  3. Click My Purchases.

    Marketplace purchase history

  4. Find the extension you want to install and click Technical Details.

    Technical details shows the extension's Composer name

Alternatively, you can find the Composer name and version of any extension (whether you purchased it on Magento Marketplace or somewhere else) in the extension’s composer.json file.

Update your composer.json file

Add the extension’s name and version to your composer.json file:

  1. Navigate to your Magento project directory and update your composer.json file.

    1
    
     composer require <component-name>:<version>
    

    For example,

    1
    
     composer require j2t/module-payplug:2.0.2
    
  2. Enter your authentication keys. Your public key is your username; your private key is your password.

  3. Wait for Composer to finish updating your project dependencies and make sure there aren’t any errors:

    1
    2
    3
    4
    5
    
     Updating dependencies (including require-dev)
     Package operations: 1 install, 0 updates, 0 removals
       - Installing j2t/module-payplug (2.0.2): Downloading (100%)
     Writing lock file
     Generating autoload files
    

Verify the extension

To verify that the extension installed properly, run the following command:

1
bin/magento module:status

By default, the extension is probably disabled:

1
2
  List of disabled modules:
  J2t_Payplug

The extension name is in the format <VendorName>_<ComponentName>; it’s not the same format as the Composer name. Use this format to enable the extension.

Enable the extension

Some extensions won’t work properly unless you clear Magento-generated static view files first. Use the --clear-static-content option to clear static view files when you’re enabling an extension.

  1. Enable the extension and clear static view files:

    1
    
     bin/magento module:enable J2t_Payplug --clear-static-content
    

    You should see the following output:

    1
    2
    3
    4
    5
    6
    7
    
     The following modules have been enabled:
     - J2t_Payplug
    
     To make sure that the enabled modules are properly registered, run 'setup:upgrade'.
     Cache cleared successfully.
     Generated classes cleared successfully. Please run the 'setup:di:compile' command to generate classes.
     Generated static view files cleared successfully.
    
  2. Register the extension:

    1
    
     bin/magento setup:upgrade
    
  3. Recompile your Magento project: In Production mode, you may receive a message to “Please rerun Magento compile command”. Magento does not prompt you to run the compile command in Developer mode.

    1
    
     bin/magento setup:di:compile
    
  4. Verify that the extension is enabled:

    1
    
     bin/magento module:status
    

    You should see output verifying that the extension is no longer disabled:

    1
    2
    3
    4
    5
    
     List of enabled modules:
     J2t_Payplug
    
     List of disabled modules:
     None
    
  5. Clean the cache:

    1
    
    bin/magento cache:clean
    
  6. Configure the extension in Admin as needed.

If you encounter errors when loading the storefront in a browser, use the following command to clear the cache:
bin/magento cache:flush

Upgrade an extension

To update or upgrade an extension:

  1. Download the updated extension file from Marketplace or another extension developer. Take note of the module-name and version.

  2. Export the contents to your Magento root.

  3. If a composer package exists for the extension, run one of the following.

    Update per module name:

    1
    
     composer update vendor/module-name
    

    Updater per version:

    1
    
     composer require vendor/module-name ^x.x.x
    
  4. Run the following commands to upgrade, deploy, and clean the cache.

    1
    2
    3
    
     php bin/magento setup:upgrade --keep-generated
     php bin/magento setup:static-content:deploy
     php bin/magento cache:clean