0

I would like to install the Magento Amazon Sales Channel module using composer in Magento 2.3.3.

Here is the Amazon Sales Channel product page. The installation instructions I found are here.

First some basic questions.

  1. When installing via composer, do I need to download and extract the package contents? The instructions indicate I do need to manually download the package. Is that correct?

  2. Where should I place the contents of the downloaded package? The instructions say:

  1. Export the contents to your Magento root.

However, that makes little sense to me. The content are:

Api
Block
Comm
composer.json
Configuration
Console
Controller
Cron
Domain
etc
Logger
__MACOSX
Model
Msi
Plugin
registration.php
Setup
Ui
view

I definitely do not want all those files and folders in my Magento root. So where should they go? I decided to put them in /var/www/magento/vendor/magento/module-amazon/. Will that work?

The next instruction says:

  1. Follow all instructions for Extension Installation. Step 1 there is:

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

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

The phrase "update your composer.json file" makes it sound like you are supposed to get out a text editor and make an edit. But that can't be correct. This is a CLI command. I assume it does not mean I should manually edit the main composer.json file in Magento root. So I tried running this command as the Magento filesystem owner:

$ composer require magento/module-amazon:3.0.1

That gives this error:

[InvalidArgumentException]
Could not find a matching version of package magento/module-amazon. Check the package spelling, your version constraint and that the package is available in a stability which matches your minimum-stability (stable).

As far as I can see, everything matches. I have magento/module-amazon in my command, and that is the exact name in the module's own composer.json file. The version numbers match too.

less /var/www/magento/vendor/magento/module-amazon/composer.json

{
    "name": "magento/module-amazon",
    "description": "Provides Amazon Integration.",
    "type": "magento2-module",
    "version": "3.0.1",
    "license": [
    "OSL-3.0",
    "AFL-3.0"
    ],
    "require": {
    "php": "~7.0.13 || ~7.1.0 || ~7.2.0 || ~7.3.0",
    "ext-json": "*",
    "magento/module-backend": "^100.2 || ^101.0",
    "magento/module-catalog": "^102.0 || ^103.0",
    "magento/module-catalog-import-export": "^100.2 || ^101.0",
    "magento/module-catalog-inventory": "^100.2",
    "magento/module-catalog-rule": "^101.0",
    "magento/module-customer": "^101.0 || ^102.0",
    "magento/module-directory": "^100.2",
    "magento/module-eav": "^101.0 || ^102.0",
    "magento/module-payment": "^100.2",
    "magento/module-quote": "^101.0",
    "magento/module-rule": "^100.2",
    "magento/module-sales": "^101.0 || ^102.0",
    "magento/module-shipping": "^100.2",
    "magento/module-store": "^100.2 || ^101.0",
    "magento/module-tax": "^100.2",
    "magento/module-ui": "^101.0",
    "magento/framework": "^101.0 || ^102.0",
    "magento/services-connector": "^1.0"
    },
    "suggest": {
    "magento/inventory-composer-metapackage": "To support Multi-source Inventory"
    },
    "autoload": {
        "files": [
            "registration.php"
        ],
        "psr-4": {
            "Magento\\Amazon\\": ""
        }
    }
}

What am I missing?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.