Composer

From mediawiki.org
This page is a translated version of the page Composer and the translation is 100% complete.

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、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 ブランチとmasterとともに)でサポートされています。 最新さいしんのComposer 2.x安定あんていばんリリースを入手にゅうしゅするには以下いか実行じっこうします:

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

macOSをお使つかいのほうは、Homebrew使つかってComposerをインストールすることができます。 この場合ばあい、Composer 2.xがインストールされますので、使用しようしているMediaWikiのバージョンによっては、上記じょうきwget指示しじしたがってComposer 1.xをダウンロードする必要ひつようがあります。

brew install composer

うまくいかない場合ばあい、あるいはHomebrewがインストールされていない場合ばあいは、以下いかをおためしください:

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

Toolforgeと拡張かくちょう機能きのうディストリビューターは、"integration/composer" gitリポジトリにふくまれるComposerのコピーを使用しようします。

Composerがインストールされると、ダウンロードしたphar経由けいゆ以下いかのようにコマンドを実行じっこうできるようになります。

php composer.phar someCommand

通常つうじょう実行じっこうファイルとして使用しようできるように、pharをパスに移動いどうしておくとよいでしょう。

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

mv コマンドが権限けんげん関係かんけい失敗しっぱいした場合ばあいは、sudoけてもう一度いちどためしください。

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

Windowsの場合ばあい

ダウンロードページからインストーラーをダウンロードし、実行じっこうするだけです。 手動しゅどうインストールをこの場合ばあいは、Windowsにはデフォルトでwget(またはAPTやHomebrew)がないことと、/usr/local/binディレクトリがないことをのぞいて、上記じょうき手順てじゅんむことができます。 このような場合ばあいは、ウェブブラウザでcomposer-1.pharをダウンロードし、それをcomposer.pharにリネームすればよいのです。

ローカルでのインストール

サーバーで Composer を実行じっこうする権限けんげんがなくても、あきらめる必要ひつようはありません。 MediaWiki フォルダーをローカル マシンにダウンロードして、Composer をインストールして実行じっこうし、ファイルをサーバーにもどすこともできます。

Composerのアップグレード

Composer 1.x

Composerを最新さいしんの1.x安定あんていばんにアップグレードしたい場合ばあい(または2.x安定あんていばんからダウングレードしたい場合ばあい)には、以下いか使用しようすることができます。

composer self-update --1

権限けんげん関係かんけい更新こうしんコマンドに失敗しっぱいした場合ばあいは、sudoけてもう一度いちどためしください。

sudo composer self-update --1

もし、あなたが本当ほんとうふるいバージョンのcomposerを使用しようしている場合ばあいは、--1パラメータがない可能かのうせいがあります。この場合ばあいself-updateを2かい実行じっこうすることをおすすめします。1つは2.xにアップデートする可能かのうせいがあるため、2つ最新さいしんばんの1.xにダウングレードします。

composer self-update
composer self-update --1

Composer 2.x

Composer 1.xを使用しようしていて、Composer 2.xにアップグレードしたい場合ばあい(および >= 1.35.2のような適切てきせつなバージョンのMediaWikiを使用しようしている場合ばあい)、以下いか使用しようできます。

composer self-update --2

権限けんげん関係かんけい更新こうしんコマンドに失敗しっぱいした場合ばあいは、sudoけてもう一度いちどためしください。

sudo composer self-update --2

MediaWikiコアでの使用しようほう

MediaWiki 1.25以降いこうは、Composerで管理かんりされているいくつかの外部がいぶライブラリに依存いぞんしています。 Composerはvendor/autoload.phpでオートローダーを作成さくせいし、それをWebStart.phpでインクルードします。

Composerで管理かんりされる依存いぞん関係かんけいは、MediaWikiと拡張かくちょう機能きのうのtarball配布はいふぶつにバンドルされているため、システム管理かんりしゃはComposerを直接ちょくせつ使用しようする必要ひつようはありません。 Gitを使用しようしてMediaWikiをインストールするとき、$IP/composer.json宣言せんげんされた依存いぞん関係かんけいcomposer update --no-dev実行じっこうすることでローカルにインストールするか、mediawiki/vendor.gitリポジトリをクローンしてWikimedia運用うんようクラスタで使用しようされるおなじライブラリを提供ていきょうすることができます。[1]

$IP は、あなたが MediaWiki をインストールしたインストールパス (または「ディレクトリ」) を意味いみします (Install Path のりゃく)。そのディレクトリには LocalSettings.php index.php などがあります。

composer-merge-pluginの使用しよう

$IP は、あなたが MediaWiki をインストールしたインストールパス (または「ディレクトリ」) を意味いみします (Install Path のりゃく)。そのディレクトリには LocalSettings.php index.php などがあります。

MediaWikiコアは$IP/composer.jsonを"所有しょゆう"(owns)し、tarballとGitで管理かんりされた更新こうしん両方りょうほうでそのファイルの内容ないよう変更へんこうします。 ローカルインストールで、オプションライブラリのロードや拡張かくちょう機能きのう管理かんりをComposerでおこなために、composer-merge-pluginというComposerよう特別とくべつなプラグインが開発かいはつされました。[2] このプラグインとMediaWikiコアのcomposer.json構成こうせいはローカルデプロイメントが必要ひつよう拡張かくちょう機能きのうとライブラリをMediaWikiのルートディレクトリのなかcomposer.local.jsonファイルに追加ついかすることを可能かのうにします。

composer.local.jsonは、Composer自体じたい使用しようしてインストールされていない拡張かくちょう機能きのう必要ひつようとするComposerマネージド・ライブラリーをインストールするために使用しようすることもできます。 これは、Extension Distributorによって生成せいせいされたtarballから拡張かくちょう機能きのうをインストールしない場合ばあいにのみ必要ひつようです。

ローカルにインストールされた拡張かくちょう機能きのうふくまれるcomposer.jsonファイルをComposerが検出けんしゅつして処理しょりできるようにするには、$IP/composer.local.jsonつぎのような内容ないよう追加ついかします。

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

composer.local.json変更へんこうしたのちcomposer update実行じっこうして、Composerが依存いぞん関係かんけいさい計算けいさんし、変更へんこう有効ゆうこうになるようにする必要ひつようがあります。

リソース

脚注きゃくちゅう