Magento 2 – Omgeving opzetten via composer

21-10-2017

Er zijn verschillende manieren om je magento 2 omgeving op te zetten. Eerst zul je een kale Magento 2 omgeving moeten binnenhalen of downloaden. Hier zijn verschillende manieren voor:

  1. Via download [link]
  2. Via composer
  3. Via github [Magento GitHub repository]

Het opzetten van Magento 2 via composer zullen we momenteel behandelen.

Composer

Je dient Composer te hebben geïnstalleerd op jouw computer. Via de Composer website kun je lezen hoe je composer installeert op je computer. Composer is een dependency management tool voor PHP. Met Composer kun je een package (extensie, module, library of externe tool) binnen een project installeren. Met Composer kun je afhankelijkheden binnen een project inzien en beheren en kun je packages makkelijk updaten.

Je dient een composer.json bestand in de root van je project te hebben waarin aangegeven staat welke packages (incl. versies) het project nodig heeft. Met de commando composer update download of update je dan de packages maar ook de dependencies van de packages (de packages waar jouw packages gebruik van maakt). Composer maakt vervolgens een lockfile aan, de composer.lock.

De composer install commando installeert alle dependencies die staan in de lockfile. In de lockfile worden de exacte versies van de packages opgeslagen. In je composer.json kan bijvoorbeeld bij een package de versie 1.0.* staan, dat altijd de laatste versie van 1.0 binnenhaalt. In de lockfile staat de exacte versie van de package bijvoorbeeld 1.0.7. Hiermee voorkom je fouten die in eventuele nieuwere versies staan en zorg je ervoor dat iedereen op dezelfde versies werkt. Als het geen lockfile kan vinden dan installeert kijkt composer naar het composer.json bestand.

composer install

  • Kijken of een composer.lock bestand bestaat.
  • Zo niet, wordt de commando composer update uitgevoerd om er een aante maken.
  • Als composer.lock bestaat, installeer de versies vanuit de lockfile.
composer update

  • Installeert de (laatste) versies van alle packages vanuit de composer.json
  • Update of creëert een composer.lock bestand met alle laatste versies van de packages.

Onderstaande commando dien je uit te voeren om de Magento packages op te halen. <installation directory name> dien je te vervangen met het pad waar je Magento wil installeren. Om dit uit te voeren dien je wel een Magento account te hebben voor de repo.magento.com public (username) en private key (password). Anders kun je de packages niet downloaden. Lees hier hoe je de Magento authentication keys kunt krijgen. Wil je Magento via github downloaden dan zul je ook authentication keys moeten hebben. Deze zul je dan op moeten slaan in het bestand auth.json in je root. De auth.json ziet er als volgt uit:

{
    "http-basic": {
        "repo.magento.com": {
            "username": "<public-key>",
            "password": "<private-key>"
        }
    }
}
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition <installation directory name>;

Nadat je dit hebt uitgevoerd via de command line kun je naar de folder gaan waar je Magento hebt geïnstalleerd. In de root folder kun je een composer.json en composer.lock bestand vinden.

Wil je dus eigen packages toevoegen, bijvoorbeeld een module voor Magento dan kun je de package toevoegen aan de composer.json. Een package bestaat uit vendor/packagename welke je dient toe te voegen binnen de require van de composer.json. Een php package kun je bijvoorbeeld vinden op packagist. Wil je bijvoorbeeld de google tag manager module van Yireo toevoegen, dan zoeken we deze op packagist en kijken we welke versie we nodig hebben. Vervolgens plaatsen we de regel in de composer.json. Zodra je een composer update uitvoert zul je zien dat de package geïnstalleerd wordt en dat de lockfile geupdate is. In de vendor folder van de installatie zul je zien dat er een folder is toegevoegd “Yireo”.

"require": {
     "magento/product-community-edition": "2.2.0",
     "composer/composer": "@alpha",       
     "yireo/magento2-googletagmanager2": "0.3.4"
},
Neem contact op

Neem contact met me op door te mailen naar info@ezrabotter.com of vul het contactformulier in.

Contact
Volg mij op

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

5 × een =

Contact opnemen?

Neem contact met me op door te mailen naar info@ezrabotter.com of vul het contactformulier in.

Neem contact op