Hello to Amasty blog readers!

Today we’re announcing the availability of Amasty extensions for Magento 2 in our official repository, from which you can now install our modules with the help of the Composer.

Get your FREE PDF guide to install/update mods with Composer!

Only Amasty extensions for Magento 2 are available via the repository. Right now, Magento 1 extensions from Amasty are not available there.

Why we are opening the official Amasty repository

The decision to develop this opportunity was made because a lot of Amasty clients asked for this option to have some additional installation and updates safety, as well as the convenience of maintaining the extensions. For advanced users, Amasty Composer is a new option to install or update the extensions via the command line, which is fast and hassle-free. You can install it on any OS: Windows, Linux, Ubuntu, and macOS. However, Composer requires the PHP version from 5.3.2 and above to run.

What is more, with this option we’re solving a common problem some of our clients faced when buying Amasty extensions for Magento 2 from Magento Marketplace.

Before, if the user had installed the extension from the Marketplace, and then installed the new version obtained from Amasty.com website (using the package manually, not via the Composer), he or she would lose all the settings. Now this issue is solved, because you can use the Amasty repository for updating extensions, and this way no extension settings are lost now.

Advantages of Composer

Composer is an application-level package manager for the PHP programming language that provides a standard format for managing dependencies of PHP software and required libraries. If you spend some time to see into this tool, you understand how many advantages it has:

  • It’s hard to ruin all in one click thanks to addictions;
  • It’s convenient if you are ready to learn a little bit of new information;
  • It’s easy to update your packages;
  • It’s handy to manage your extensions;
  • It’s simple to transfer or rebuild your instance (Сomposer install).

How to install Magento 2 extensions from Amasty repository via Composer

The following instruction assumes that you have already installed and set up the Composer tool. If you haven’t installed it yet learn how to do it here.

To work with Amasty Composer you need to create a Customer Account on Amasty.com (to get Access Keys).

Step 1. Log in to your server via a Command line:

 Log in to your server

Step 2. Set the directory where you would like to install the extension. Usually, for such purposes, the Magento root folder is selected.

Set the directory

Step 3. Connect to the Amasty Composer Repository:

[php]composer config repositories.amasty composer <path>[/php]

In the path indicate:

  • https://composer.amasty.com/community/ – for community extensions.
  • https://composer.amasty.com/enterprise/ – for enterprise extensions.

Step 4. To get authorized use generated in your Customer Account :

Amasty.com → Account → My Access Keys

Use Access Keys

Use the Public Key as a login and the Private Key – as a password.

NEW: How to save Access Keys?

You can save the keys in the repository so you won’t have to get authorized every time.

For this:

#1. Save the keys manually in the repository;
#2. Go to your Magento docroot directory to insert: composer config –auth http-basic.composer.amasty.com $COMPOSER_AMASTY_USERNAME* $COMPOSER_AMASTY_PASSWORD**

*$COMPOSER_AMASTY_USERNAME – your Public Key
**$COMPOSER_AMASTY_PASSWORD – your Private Key

Step 5. After the authorization is successfully finished, you can start installing/updating your Magento 2 modules via Composer.

First, take a look at the module names in your Customer Account to make sure you call the necessary module via the Composer correctly.

Please go to Amasty.com → Account → My Downloads for paid extensions and open the My free products tab for free modules.

My Downloads

You will find module names for the Composer in the ‘My Composer Packages’ section.

My Composer Packages

Step 6. To install the Magento 2 module, please execute the following command:

[php]composer require amasty/color-swatches-pro [/php]

Install the module
Instead of the ‘color-swatches-pro’ please specify the Magento 2 module you need to download with Composer.

Step 7. To install the module execute the command:

[php]php bin/magento setup:upgrade [/php]

Upgrade the module

Magento 2 Extension Update via Composer

1. The extension update process is the same as the module installation process. To update the extension, simply execute the command:

[php]composer update <composer_name>[/php]

Instead of the ‘composer_name’ please specify the corresponding module name which is indicated in your customer account. This command updates only the last two version numbers: e.g. 1.x.x ( only x.x will be updated).

To update the version from 1.x.x to 2.x.x you need to execute the following command:

[php]composer require <composer_name> ^x.0.0 –update-with-dependencies[/php]

Where x corresponds to the first version number. For example, to update the Improved Layered Navigation Extension for Magento 2 from repository the 1.x.x version to the 2.x.x version you need to execute the command:

[php] composer require amasty/shopby ^2.0.0 –update-with-dependencies[/php]

2. To update all modules execute the command:

[php] composer update [/php]

Update all modules

 

Delete Extensions via Composer

To delete the extension via Composer, please execute the command:

[php] composer delete <composer_name> [/php]

Instead of the ‘composer_name’ please specify the corresponding module name which is indicated in your customer account.

Using Composer with multiple Amasty.com accounts and one Magento installation

There are seven Amasty repositories (for both Community and Enterprise editions):

  1. https://composer.amasty.com/community/
  2. https://composer1.amasty.com/community/
  3. https://composer2.amasty.com/community/
  4. https://composer3.amasty.com/community/
  5. https://composer4.amasty.com/community/
  6. https://composer5.amasty.com/community/
  7. https://composer6.amasty.com/community/

They are completely identical, therefore you can add several of them using different Amasty.com customer accounts.

For example:

  • composer config repositories.amasty_account1 composer https://composer1.amasty.com/community/
  • composer config repositories.amasty_account2 composer https://composer2.amasty.com/community/

The way you name them, will not affect their behavior.

This way you will have two repositories added with different customer credentials. Using several Amasty repositories does not affect the way Сomposer commands are executed. In other words, say, to install the Improved Layered Navigation extension, please use the same command as usual: [php]composer require amasty/shopby[php]

What if I get ‘COULD NOT FIND PACKAGE’ error?

If you are trying to install a new mod with Amasty Composer, you can get an error that looks like this:

Could not find a matching version of package amasty/label. Check the package spelling, your version constraint and that the package is available in a stability which matches your minimum-stability (stable).

Or even something like this:

Failed: [Composer\Downloader\TransportException] 0: “https://composer.amasty.com/enterprise/packages/module-special-promo-pro-2.7.1-ee.zip” appears broken, and returned an empty 200 response.

Failed to download amasty/module-special-promo-pro from dist: “https://composer.amasty.com/enterprise/packages/module-special-promo-pro-2.7.1-ee.zip” appears broken, and returned an empty 200 response.

You can quickly manage this problem. Composer has cache. Clear it. It stores information about packages available in the Amasty repository. To clean the cache, use this command: [php]composer clearcache[php]

Composer clear cache

Usually, this action solves all the problems. Just try to add this mod again.

If you’re experiencing trouble with this way of Magento 2 extension installation, feel free to drop a line at support@amasty.com, we’d love to help you right away!

Do you have any questions about installation with the help of Amasty Composer? Feel free to ask them in the comments.