Composer

From mediawiki.org
This page is a translated version of the page Composer and the translation is 81% complete.
Logo-composer-transparent.png

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.

Обновление 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

Использование в Медиавики

Медиавики 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.[1]

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

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

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

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

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 remove composer.lock before running composer install again so that Composer will recalculate the dependencies and the changes will take effect.

Ресурсы

Примечания