Jump to navigation Jump to search
This page is a translated version of the page Composer and the translation is 8% complete.
Other languages:
English • ‎Türkçe • ‎español • ‎français • ‎magyar • ‎português • ‎русский • ‎中文 • ‎日本語

A Composer egy függőségkezelő PHP-könyvtárakhoz. Ezen kívül használható MediaWiki-kiterjesztések telepítésére is (a MediaWiki 1.22 verzió óta). Starting with MediaWiki 1.25 , MediaWiki core's external library dependencies are being managed with Composer.

On Unix/Linux and macOS

There are multiple ways to install Composer, besides the most obvious way, sudo apt install composer:

To grab the latest stable:

wget -cO - > composer.phar

That downloads the latest stable release. There are also phars for the alpha "releases" such as 1.0.0-alpha.

For users on OS X, you can use Homebrew to install composer:

brew install composer

If that doesn't work, or you do not have Homebrew installed, you can try:

php -r "readfile('');" | php

Jenkins and the extension distributor use the copy of composer contained in the "integration/composer" git repo.

Once composer is installed, you can run commands via the downloaded phar:

php composer.phar someCommand

You may want to move the phar into your path so it can be used as a normal executable:

mv composer.phar /usr/local/bin/composer
composer someCommand

If the mv command fails due to permissions, execute it again with sudo.

On Windows

Just download and run the installer from the download page. If you prefer manual installation, you can follow the above steps except that Windows doesn’t have wget (or APT or Homebrew) by default, and there is no /usr/local/bin directory.

Usage in MediaWiki core

MediaWiki 1.25+ depends on some external libraries which are managed with Composer. Composer creates an autoloader at vendor/autoload.php, which is included by WebStart.php.

Composer managed dependencies are bundled into tarball distributions of MediaWiki and extensions so system administrators do not need to use composer directly. When installing MediaWiki using Git, dependencies declared in $IP/composer.json can either be installed locally by running composer update --no-dev or the mediawiki/vendor.git repository can be cloned to provide the same libraries used on the Wikimedia production cluster.[1]

Az $IP a MediaWiki telepítési útvonalát (könyvtárát) jelöli, ebben a mappában találhatók az olyan fájlok, mint például a LocalSettings.php vagy az index.php .

Using composer-merge-plugin

Az $IP a MediaWiki telepítési útvonalát (könyvtárát) jelöli, ebben a mappában találhatók az olyan fájlok, mint például a LocalSettings.php vagy az index.php .

MediaWiki core "owns" $IP/composer.json and will change the contents of that file in both tarball and Git managed updates. In order to allow local installs to use Composer to load optional libraries and/or manage extensions with Composer, a special plugin for Composer named composer-merge-plugin was developed.[2] This plugin and the MediaWiki core composer.json configuration allow a local deployment to add required extensions and libraries to a file composer.local.json inside the root MediaWiki directory.

composer.local.json can also be used to install Composer managed libraries that are needed by extensions that are not installed using Composer themselves. This is only needed when the extensions are not installed from tarballs generated by Extension Distributor.

To enable Composer to discover and process the composer.json files that may be included in any and all of your locally installed extensions, add something like this to $IP/composer.local.json:

    "extra": {
        "merge-plugin": {
            "include": [

After any changes to composer.local.json, you need to remove composer.lock before running composer install again so that Composer will recalculate the dependencies and the changes will take effect.