Composer
Composer je správce závislostí pro knihovny PHP. Počínaje MediaWiki 1.25 jsou externí knihovny jádra MediaWiki spravovány pomocí Composeru. Kromě toho jej lze použít ke správě instalace rozšíření MediaWiki (k dispozici od MediaWiki 1.22 ). To však v současné době není dostatečně podporováno. To se může v budoucnu změnit.

Instalace aplikace Composer
MediaWiki podporuje Composer 2.x od MediaWiki 1.35.2 a novější. |
Na Unix/Linux a macOS
Existuje několik způsobů, jak nainstalovat Composer, kromě toho nejviditelnějšího, sudo apt install composer
.
MediaWiki 1.31, 1.35.0 a 1.35.1 podporuje pouze Composer 1.x. Chcete-li získat nejnovější stabilní verzi Composer 1.x:
wget -cO - https://getcomposer.org/composer-1.phar > composer.phar
Composer 2.x a Composer 1.x jsou podporovány MediaWiki >= 1.35.2 (spolu s větví a masterem REL1_36). Chcete-li získat nejnovější stabilní verzi Composer 2.x:
wget -cO - https://getcomposer.org/composer-2.phar > composer.phar
Uživatelé systému macOS mohou k instalaci aplikace Composer použít Homebrew.
Všimněte si, že tím se nainstaluje verze Composer 2.x, takže v závislosti na verzi MediaWiki, kterou používáte, možná budete muset místo toho stáhnout Composer 1.x podle pokynů wget
výše. Instalace pomocí brew
:
brew install composer
Pokud to nefunguje nebo nemáte nainstalovaný Homebrew, můžete zkusit:
php -r "readfile('https://getcomposer.org/installer');" | php
Toolforge a distributor rozšíření používají kopii Composer obsaženou v git repo "integration/composer".
Jakmile je Composer nainstalován, můžete spouštět příkazy prostřednictvím staženého phar:
php composer.phar someCommand
Možná budete chtít přesunout phar do vaší cesty, aby mohl být použit jako normální spustitelný soubor:
mv composer.phar /usr/local/bin/composer
composer someCommand
Pokud příkaz mv selže kvůli oprávněním, spusťte jej znovu pomocí sudo.
sudo mv composer.phar /usr/local/bin/composer
composer someCommand
V systému Windows
Stačí stáhnout a spustit instalační program ze stránky aktualizací.
Pokud dáváte přednost ruční instalaci, můžete postupovat podle výše uvedených kroků kromě toho, že Windows ve výchozím nastavení nemají wget (nebo APT nebo Homebrew) a neexistuje žádný adresář /usr/local/bin.
V těchto případech si stačí stáhnout composer-1.phar ve svém webovém prohlížeči a poté jej přejmenovat na composer.phar
.
Místní instalace
Nemáte smůlu, pokud nemáte oprávnění ke spuštění aplikace Composer na serveru. Je také možné stáhnout složku MediaWiki na váš místní počítač, nainstalovat a spustit Composer a přenést soubory zpět na server.
Aktualizace Composeru
Composer 1.x
Pokud chcete upgradovat Composer na nejnovější stabilní verzi 1.x (nebo přejít na nižší verzi ze stabilní verze 2.x), můžete použít:
composer self-update --1
Pokud příkaz aktualizace selže kvůli oprávněním, spusťte jej znovu pomocí sudo.
sudo composer self-update --1
Pokud používáte opravdu starou verzi Composeru, nemusí mít parametr --1
. V tomto případě možná budete chtít spustit self-update
dvakrát. První jej může aktualizovat na 2.x, takže druhý jej sníží na nejnovější verzi 1.x.
composer self-update
composer self-update --1
Composer 2.x
Pokud používáte Composer 1.x a chcete jej aktualizovat na Composer 2.x (a používáte vhodnou verzi MediaWiki, jako je >= 1.35.2), můžete použít:
composer self-update --2
Pokud příkaz aktualizace selže kvůli oprávněním, spusťte jej znovu pomocí sudo.
sudo composer self-update --2
Použití v jádru MediaWiki
MediaWiki 1.25+ závisí na některých externích knihovnách, které jsou spravovány pomocí Composeru.
Composer vytvoří autoloader vendor/autoload.php
, který je zahrnut v WebStart.php
.
Závislosti spravované Composerem jsou součástí tarballových distribucí MediaWiki a rozšíření, takže správci systému nemusí používat Composer přímo.
Při instalaci MediaWiki pomocí Gitu lze závislosti deklarované v $IP/composer.json
buď nainstalovat lokálně spuštěním composer update --no-dev
, nebo lze naklonovat úložiště mediawiki/vendor.git
, aby poskytovalo stejné knihovny jako v produkčním clusteru Wikimedie.
Používání composer-merge-plugin
Jádro MediaWiki "vlastní" $IP/composer.json
a změní obsah tohoto souboru v aktualizacích tarballu i Gitu.
Aby místní instalace mohly používat Composer k načítání volitelných knihoven a nebo spravovat rozšíření pomocí Composeru, byl vyvinut speciální plugin pro Composer s názvem creator-merge-plugin.[1]
Tento plugin a konfigurace jádra MediaWiki composer.json
umožňují místnímu nasazení přidat požadovaná rozšíření a knihovny do souboru composer.local.json
v kořenovém adresáři MediaWiki.
composer.local.json
lze také použít k instalaci knihoven spravovaných Composerem, které potřebují rozšíření, která nejsou nainstalována pomocí samotného Composeru.
To je potřeba pouze v případě, že rozšíření nejsou nainstalována z tarballů generovaných Extension Distributor.
Chcete-li povolit Composeru zjišťovat a zpracovávat soubory composer.json
, které mohou být zahrnuty ve všech vašich lokálně nainstalovaných rozšířeních, přidejte do $IP/composer.local.json
něco takového:
{
"extra": {
"merge-plugin": {
"include": [
"extensions/*/composer.json",
"skins/*/composer.json"
]
}
}
}
Po jakýchkoli změnách na composer.local.json
musíte spustit composer update
, aby Composer přepočítal závislosti a změny se projevily.
Zdroje
- Jak nainstalovat rozšíření přes Composer
- Jak přidat externí knihovny do jádra MediaWiki nebo rozšíření
- Doporučené postupy při vytváření souboru composer.json
- Informace o přidávání balíčků na packagist.org
- w:Composer (software)