Composer

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

Composer — это менеджер зависимостей для библиотек PHP. Начиная с MediaWiki 1.25 , зависимости внешних библиотек MediaWiki управляются с помощью Composer. Кроме того, он может быть использован для управления установкой расширений mediawiki (доступно начиная с MediaWiki 1.22 ). However this is currently not well supported. This may change in the future.

Установка Composer

On Unix/Linux and macOS

Существует несколько способов install Composer:

Only Composer 1.x is supported by MediaWiki 1.31, 1.35.0 and 1.35.1. Чтобы получить последний снимок:

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

Composer 2.x and Composer 1.x are supported by MediaWiki >= 1.35.2 (along with the REL1_36 branch and master). To grab the latest Composer 2.x stable release:

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

Пользователи OS X могут использовать 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

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

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

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

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. In these cases, you can just download composer-1.phar in your web browser and then rename it to composer.phar.

Upgrading 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 создаёт автозагрузчик на $autoload, который включен в $WebStart.

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.

Ресурсы

Примечания