Composer
Composer ist ein Abhängigkeitsverwalter für PHP-Bibliotheken. Beginnend mit MediaWiki 1.25 werden die externen Bibliotheksabhängigkeiten des MediaWiki-Kerns mit Composer verwaltet. Darüber hinaus kann es verwendet werden, um die Installation von MediaWiki-Erweiterungen zu verwalten (verfügbar seit MediaWiki 1.22 ). Derzeit wird diese Möglichkeit jedoch nicht ausreichend unterstützt. Dies kann sich in der Zukunft ändern.
Composer installieren
MediaWiki unterstützt jetzt Composer 2.x ab MediaWiki 1.35.2! |
Auf Unix/Linux und macOS
Es gibt mehrere Möglichkeiten, install Composer zu installieren, abgesehen von der naheliegendsten Möglichkeit, sudo apt install composer
.
Nur Composer 1.x wird von MediaWiki 1.31, 1.35.0 und 1.35.1 unterstützt. Um die neueste stabile Version von Composer 1.x zu erhalten:
wget -cO - https://getcomposer.org/composer-1.phar > composer.phar
Composer 2.x und Composer 1.x werden von MediaWiki >= 1.35.2 unterstützt (zusammen mit dem REL1_36-Zweig und Master). Um die neueste stabile Version von Composer 2.x zu erhalten:
wget -cO - https://getcomposer.org/composer-2.phar > composer.phar
Für Benutzer von macOS können Sie Homebrew verwenden, um Composer zu installieren.
Beachten Sie, dass dadurch die Version Composer 2.x installiert wird. Je nachdem, welche Version von MediaWiki Sie verwenden, müssen Sie möglicherweise stattdessen die obigen Anweisungen für wget
befolgen, um Composer 1.x herunterzuladen:
brew install composer
Wenn das nicht funktioniert, oder Sie Homebrew nicht installiert haben, können Sie es versuchen:
php -r "readfile('https://getcomposer.org/installer');" | php
Toolforge und der Erweiterungsverteiler verwenden die Kopie von Composer, die im Git-Repository "integration/composer" enthalten ist.
Sobald Composer installiert ist, können Sie die Befehle über das heruntergeladene phar:
php composer.phar someCommand
Sie sollten phar in Ihren Pfad verschieben, damit es als normale ausführbare Datei verwendet werden kann:
mv composer.phar /usr/local/bin/composer
composer someCommand
Wenn der Befehl mv aufgrund von Berechtigungen fehlschlägt, führen Sie ihn erneut mit sudo aus.
sudo mv composer.phar /usr/local/bin/composer
composer someCommand
Auf Windows
Laden Sie einfach das Installationsprogramm von der Download-Seite herunter und führen Sie es aus. Wenn Sie die manuelle Installation bevorzugen, können Sie die obigen Schritte befolgen, mit dem Unterschied, dass Windows standardmäßig kein wget (oder APT oder Homebrew) hat und es kein /usr/local/bin-Verzeichnis gibt. In diesen Fällen können Sie einfach composer-1.phar in Ihrem Webbrowser herunterladen und es dann in composer.phar umbenennen.
Lokale Installation
Falls du keine Rechte für die Ausführung von Composer auf dem Server hast, ist das kein Grund zur Sorge. Alternativ kann man den MediaWiki-Ordner auf den lokalen Rechner herunterladen, den Composer installieren und ausführen und die Dateien zurück auf den Server übertragen.
Composer aktualisieren
Composer 1.x
Wenn Sie Composer auf die neueste Version 1.x Stable aktualisieren (oder ein Downgrade von 2.x Stable durchführen) möchten, können Sie dies tun:
composer self-update --1
Wenn der Aktualisierungsbefehl aufgrund von Berechtigungen fehlschlägt, führen Sie ihn erneut mit sudo aus.
sudo composer self-update --1
Wenn Sie eine sehr alte Version des Composers benutzen, kann es sein, dass er den Parameter --1
nicht hat. In diesem Fall sollten Sie self-update
zweimal ausführen. Die erste Ausführung aktualisiert ihn möglicherweise auf 2.x, die zweite führt zu einem Downgrade auf die neueste Version 1.x.
composer self-update
composer self-update --1
Composer 2.x
Wenn Sie Composer 1.x verwenden und auf Composer 2.x aktualisieren möchten (und eine geeignete Version von MediaWiki verwenden, z. B. >= 1.35.2), können Sie dies tun:
composer self-update --2
Wenn der Aktualisierungsbefehl aufgrund von Berechtigungen fehlschlägt, führen Sie ihn erneut mit sudo aus.
sudo composer self-update --2
Verwendung im MediaWiki-Kern
MediaWiki 1.25+ hängt von einigen externen Bibliotheken ab, die mit Composer verwaltet werden.
Composer erstellt einen Autoloader für vendor/autoload.php
, der in WebStart.php
enthalten ist.
Die vom Composer verwalteten Abhängigkeiten sind in den Tarball-Distributionen von MediaWiki und den Erweiterungen enthalten, so dass Systemadministratoren den Composer nicht direkt verwenden müssen.
Beim Installation von MediaWiki mit Git können die in $IP/composer.json
deklarierten Abhängigkeiten entweder lokal installiert werden, indem composer update --no-dev
ausgeführt wird, oder das mediawiki/vendor.git
-Repository kann geklont werden, um die gleichen Bibliotheken bereitzustellen, die auf dem Wikimedia-Produktionscluster verwendet werden.
Verwendung des composer-merge-plugins
MediaWiki core "besitzt" $IP/composer.json
und wird den Inhalt dieser Datei sowohl in Tarball- als auch in Git-verwalteten Updates ändern.
Um es lokalen Installationen zu ermöglichen, Composer zum Laden optionaler Bibliotheken und/oder Erweiterungen mit Composer verwalten zu verwenden, wurde ein spezielles Plugin für Composer namens composer-merge-plugin entwickelt.[1]
Dieses Plugin und die MediaWiki-Kernkonfiguration composer.json
ermöglichen es einer lokalen Bereitstellung, benötigte Erweiterungen und Bibliotheken zu einer Datei composer.local.json
innerhalb des MediaWiki-Stammverzeichnisses hinzuzufügen.
composer.local.json
kann auch verwendet werden, um von Composer verwaltete Bibliotheken zu installieren, die von Erweiterungen benötigt werden, die nicht mit Composer selbst installiert werden.
Dies wird nur benötigt, wenn die Erweiterungen nicht aus Tarballs installiert werden, die von Extension Distributor erzeugt wurden.
Um Composer in die Lage zu versetzen, die composer.json
-Dateien zu erkennen und zu verarbeiten, die in allen lokal installierten Erweiterungen enthalten sein können, fügen Sie etwas wie das Folgende zu $IP/composer.local.json
hinzu:
{
"extra": {
"merge-plugin": {
"include": [
"extensions/*/composer.json",
"skins/*/composer.json"
]
}
}
}
Nach jeder Änderung an composer.local.json
muss composer update
ausgeführt werden, damit Composer die Abhängigkeiten neu berechnen kann und die Änderungen wirksam werden.
Ressourcen
- Wie man Erweiterungen durch Composer installiert
- Wie man externe Bibliotheken zum MediaWiki-Kern oder zu Erweiterungen hinzufügt
- Bewährte Praktiken bei der Erstellung einer composer.json
- Informationen über das Hinzufügen von Paketen zu packagist.org
- w:Composer (software)