This page is a translated version of the page Composer and the translation is 71% complete.
Outdated translations are marked like this.

Composer — это менеджер зависимостей для библиотек PHP. Начиная с MediaWiki 1.25 , зависимости внешних библиотек MediaWiki управляются с помощью Composer. Кроме того, его можно использовать для управления установкой расширений MediaWiki (доступно начиная с MediaWiki 1.22 ). Однако в настоящее время это не очень хорошо поддерживается. Это может измениться в будущем.

Установка Composer

На Unix/Linux и macOS

Есть несколько способов установки Composer, помимо самого очевидного sudo apt install composer.

Для MediaWiki 1.31, 1.35.0 and 1.35.1 поддерживается только Composer 1.x. Для получения последней стабильной версии Composer 1.x:

wget -cO - https://getcomposer.org/composer-1.phar > composer.phar

Composer 2.x и Composer 1.x поддерживаются MediaWiki >= 1.35.2 (вместе с веткой REL1_36 branch and master). Для получения последней стабильной версии Composer 2.x:

wget -cO - https://getcomposer.org/composer-2.phar > composer.phar

Пользователи macOS могут использовать Homebrew, чтобы установить Composer. Note this will install version Composer 2.x, so depending on the version of MediaWiki you are using, you may need to follow the wget instructions above instead to download Composer 1.x. To install using brew:

brew install composer

Если это не сработает, или у Вас не установлен Homebrew, Вы можете попробовать:

php -r "readfile('https://getcomposer.org/installer');" | php

Toolforge и распространяемые расширения используют копию Composer которая находится в "integration/composer" git репозитории.

Когда Composer установлен, Вы сможете запустить команды через удалённую загрузку:

php composer.phar someCommand

Вы можете переместить далеко в свой путь, поэтому он может быть использован как обычный исполняемый файл:

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

Если в "mv" команда не выполняется из-за разрешения, выполнить его снова с "sudo".

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

На Windows

Просто скачайте со страницы загрузки и запустите программу установки. 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. В этих случаях вы можете просто загрузить composer-1.phar через свой веб-браузер, а затем переименовать его в composer.phar.

Local installation

You're not out of luck if you don't have permissions to run Composer on the server. It is also possible to download the MediaWiki folder to your local machine, install and run Composer, and transfer the files back to the server.

Обновление Composer

Composer 1.x

If you want to upgrade Composer to the latest 1.x stable (or downgrade from 2.x stable), you can use:

composer self-update --1

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

sudo composer self-update --1

If you are on a really old version of composer, it may not have the --1 parameter. In this case, you might want to run self-update twice. The first may update it to 2.x, so the second will downgrade it to the latest version of 1.x.

composer self-update
composer self-update --1

Composer 2.x

If you are using Composer 1.x, and want to upgrade to Composer 2.x (and are using an appropriate version of MediaWiki, such as >= 1.35.2), you can use:

composer self-update --2

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

sudo composer self-update --2

Использование в ядре MediaWiki

MediaWiki версии 1.25+ зависит от некоторых внешних библиотек, которые управляются с помощью Composer. Composer создаёт автозагрузчик на vendor/autoload.php, который включен в WebStart.php.

Composer управляет зависимостями, сгруппированными в архив дистрибутива MediaWiki и расширений, так что системным администраторам не нужно непосредственно использовать Composer. В случае установки MediaWiki с помощью git, зависимости, объявленные в $IP/composer.json может быть установлен локально, запустив composer update --no-dev или mediawiki/vendor.git репозиторий может быть скопирован, чтобы получить такие же библиотеки, какие используются на сайтах Wikimedia.

$IP — это путь установки (или «папка») к вашей установленной копии MediaWiki, та же папка, в которой находятся LocalSettings.php , index.php , и т. д..


Использование composer-merge-plugin

$IP — это путь установки (или «папка») к вашей установленной копии MediaWiki, та же папка, в которой находятся LocalSettings.php , index.php , и т. д..

MediaWiki «владеет» $IP/composer.json и изменит содержимое этого файла в архиве TAR и Git управляемого обновления. Для того, чтобы разрешить при локальной установке использовать Composer для загрузки дополнительных библиотек и/или управлять расширениями с Composer, был разработан специальный плагин для Composer, названный composer-merge-plugin.[1] Этот плагин и конфигураиция composer.json в ядре MediaWiki позволяет локальное развертывание для внесения необходимых дополнений и библиотек к файлу composer.local.json внутри корневого каталога MediaWiki.

composer.local.json can also be used to install Composer managed libraries that are needed by extensions that are not installed using Composer themselves. Это необходимо, только если расширения "'не"' установить из TAR-файлов, генерируемых Extension Distributor.

Чтобы включить Composer для обнаружения и обработки composer.json-файлов, которые могут быть включены в любые ваши локально установленные расширения, добавьте что-то вроде этого в $IP/composer.local.json:

{
    "extra": {
        "merge-plugin": {
            "include": [
                "extensions/*/composer.json",
                "skins/*/composer.json"
            ]
        }
    }
}

After any changes to composer.local.json, you need to run composer update so that Composer will recalculate the dependencies and the changes will take effect.

Ресурсы

Примечания