Composer
Composer — это менеджер зависимостей для библиотек PHP. Начиная с MediaWiki 1.25 , зависимости внешних библиотек MediaWiki управляются с помощью Composer. Кроме того, его можно использовать для управления установкой расширений MediaWiki (доступно начиная с MediaWiki 1.22 ). Однако в настоящее время это не очень хорошо поддерживается. Это может измениться в будущем.
Установка Composer
MediaWiki теперь поддерживает Composer 2.x начиная с MediaWiki 1.35.2! |
На 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.
Использование composer-merge-plugin
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.
Ресурсы
- Как установить расширения через Композитор
- Как добавить сторонние библиотеки к ядру MediaWiki или расширениям
- Лучшие способы создания composer.json
- Сведения о добавлении пакетов на packagist.org
- w:Composer (software)