J4.x:Je lokale omgeving opzetten
From Joomla! Documentation
Hoe zet je een lokale omgeving voor Joomla 4 op
Met de komst van Joomla! 4 hebben we het ontwikkelproces gewijzigd. Het is niet meer mogelijk om de repository te klonen om een bruikbare Joomla installatie te verkijgen. We volgen beproefde werkwijzen en voeren een bouwproces uit voor het CMS.
Snelle starthandleiding
De stappen om je ontwikkelomgeving op te zetten zijn afhankelijk van je besturingssysteem. We kunnen geen documentatie schrijven voor ieder OS, gebruik alstublieft je zoekmachine om een "Hoe te" te vinden.
Wat je nodig hebt
- PHP - vrijwel hetzelfde als je nodig hebt om een Joomla site te laten draaien, maar je hebt de PHP CLI (command line interface) versie nodig. (Lees ook deze pagina Configuring a LAMPP server for PHP development.)
- Composer - voor het beheren van de PHP-afhankelijkheden van Joomla. Lees voor hulp bij het installeren van Composer de documentatie: https://getcomposer.org/doc/00-intro.md.
- Node.js - voor het compileren van Joomla's JavaScript- en SASS-bestanden. Raadpleeg voor hulp bij het installeren van Node.js de instructies op https://nodejs.org/en/. Let op: je hebt NodeJS 12 of hoger nodig om Joomla te installeren.
- Git - voor versiebeheer.
Stappen voor het opzetten van de lokale omgeving
- Kloon de repository
- Checkout branch 4.0-dev
- Voer composer install uit vanaf de root van de git repo. (Je kunt --ignore-platform-reqs toevoegen als PHP-LDAP niet lokaal geïnstalleerd is en je het niet nodig hebt.)
- Voer npm ci uit vanaf de root van de git repo. (Je hebt hiervoor npm 6.13.4 of hoger nodig. Voer npm install -g npm@lts uit om je npm-versie bij te werken naar de LTS-versie.)
Linux- en OSX- gebruikers kunnen de volgende bash-alias opzetten door het volgende te plaatsen in het ~/.bashrc bestand:
alias jclean="rm -rf administrator/templates/atum/css; \
rm -rf templates/cassiopeia/css; \
rm -rf administrator/templates/system/css; \
rm -rf templates/system/css; \
rm -rf media/; \
rm -rf node_modules/; \
rm -rf libraries/vendor/; \
rm -f administrator/cache/autoload_psr4.php; \
rm -rf installation/template/css"
alias jinstall="jclean; composer install; npm ci"
Dit zal alle gecompileerde bestanden van je systeem verwijderen en een nieuwe installatie uitvoeren als één commando door het aanroepen jinstall van in je Joomla installatie. Je kunt ook het jclean commando gebruiken om naar een Joomla 3.x branch terug te gaan.
Een iets langere start handleiding
Joomla is vergelijkbaar met een groot aantal andere web tools. Het heeft een groot PHP-gedeelte en steeds meer JavaScript code. Voor PHP-codering is niet zo veel voorbereiding nodig, maar JavaScript vraagt om veel sleutelwerk. De voornaamste reden is dat niemand code schrijft die elke browser begrijpt, dus de code moet worden omgezet van bijvoorbeeld ES6 naar een compatible versie van JavaScript. Hetzelfde geldt voor CSS. Voor Joomla gebruiken we SASS, dat wordt geconverteerd naar native CSS, zodat elke browser het begrijpt. Een ontwikkelomgeving opzetten is iets gecompliceerder, maar het sleutelen maakt het coderen gemakkelijker. Dankzij watchers en het automatisch opnieuw laten van je browser kun je je wijzigingen in real time zien.
PHP
Het zou voldoende moeten zijn om composer install uit te voeren, aangezien dit de PHP-afhankelijkheden zal installeren die zijn opgeslagen in het composer.lock bestand. Je kunt dit zo vaak doen als je wilt. Het installeert alleen nieuwe pakketten als het composer.lock bestand is gewijzigd. Voer composer update niet uit, want dit zal al je pakketten bijwerken naar nieuwere versies en het composer.lock bestand updaten.
Let op het kan nodig zijn om de composer install uit te voeren met de --ignore-platform-reqs optie om de platform vereisten te negeren die zijn gespecificeerd in Composer. Dit is van toepassing als je geen PHP's LDAP extensie hebt geïnstalleerd.
Node/npm scripts
Node.js heeft een pakketmanager, NPM (in sommige opzichten hetzelfde als Composer). NPM heeft een run commando en we hebben een aantal scripts voorbereid om het gemakkelijker te maken. Je voert de commando's uit vanaf de root van de repository als je JS of SASS bestanden hebt aangepast. Voorafgaand moet je eenmaal npm ci draaien, om afhankelijkheden te installeren.
npm run build:css
Dit compileert SASS-bestanden naar CSS en maakt ook de minified bestanden aan.
npm run build:js
Dit compileert de JavaScript-bestanden en zet ze om naar het juiste bestandsformaat, en het maakt de minified bestanden aan.
npm run watch
Dit is hetzelfde als het build:js commando maar het kijkt naar wijzigingen en creëert automatisch bijgewerkte bestanden in de media map. SASS bestanden worden nog niet opgenomen.
npm run lint:js
Dit voert een syntax controle uit op alle ES6 JavaScript bestanden ten opzichte van de javascript code standaard (lees, voor meer informatie over de Joomla 4 codestijl standaard alstublieft de coding standaard handleiding op het coding standards manual.
npm run test
Dit voert een serie JavaScript tests uit.
Mogelijke problemen
Bij het installeren van composer kun je tegen deze fouten oplopen
Problem 1
- Installation request for joomla/ldap 2.0.0-beta -> satisfiable by joomla/ldap[2.0.0-beta].
- joomla/ldap 2.0.0-beta requires ext-ldap * -> the requested PHP extension ldap is missing from your system.
Problem 2
- Installation request for symfony/ldap v5.1.5 -> satisfiable by symfony/ldap[v5.1.5].
- symfony/ldap v5.1.5 requires ext-ldap * -> the requested PHP extension ldap is missing from your system.
De oplossing kan zijn om de composer install uit te voeren met de --ignore-platform-reqs optie om de platform requirements te negeren die zijn gespecificeerd in Composer. Dit is van toepassing als je geen PHP's LDAP extensie hebt geïnstalleerd.
composer install --ignore-platform-reqs
Als u een login error krijgt als hieronder getoond, verwijder dan het library/autoload_psr4.php bestand, zoals in de tweede afbeelding getoond..