Composerのインストールは、ちゃんと理解して進めましょう。
そうじゃないと、無駄なモノまでインストールしてしまいます。
一度でも理解すれば、長く使える知識になります。
今後もPHPと長く付き合うなら、ちょっとだけ時間をかけて理解しませんか?
本記事の内容
- Composerとは?
- Composerのシステム要件
- Composerのインストール
- Composerの動作確認
それでは、上記に沿って解説していきます。
Composerとは?
PearとComposerは、同じようなパッケージ依存管理ツールです。
ただ、大きな違いがあります。
その違いは、以下の3つです。
- 影響範囲
- 読み込み方法
- 再現性
それぞれを以下で説明します。
影響範囲
Pearは、システム全体に影響を及ぼします。
それに対して、Composerは特定のプロジェクトのみに影響を与えます。
開発サーバー上では、複数のサイト(プロジェクト)を運用することがあります。
このような場合、Composerはその効果を発揮します。
読み込み方法
Pearは、requireやrequire_onceで一つづつ読み込みます。
例えば、5つのライブラリを利用する場合は次のようにコーディングします。
require_once("A.php"); require_once("B.php"); require_once("C.php"); require_once("D.php"); require_once("E.php");
それに対して、Composerでは一つのファイルを読み込むだけです。
5個のライブラリであっても、次のコーディングで済みます。
require_once("vendor/autoload.php");
これは、オートローダという機能によるモノです。
Composerでインストールすると、composer.jsonにその記録が行われます。
そして、composer.jsonに自動で各ライブラリを読み込む情報も記載されています。
再現性
再現性という言葉が、わかりにくいかもしれませんね。
簡単に言うと、同じ環境をすぐに再現できるということです。
Composerでは、この再現が容易に実現できます。
その際、先ほど出てきたcomposer.jsonを利用します。
composer.jsonには、インストールすべきライブラリが記載されています。
このcomposer.jsonをもとに「composer install」を実行するだけです。
これだけで、同じ環境を構築することできます。
なお、composer.lockを利用することもできます。
composer.lockには、実際にインストールしたバージョンまで記載されています。
Pearでは、こんな便利な仕組みは存在していません。
私が知らないだけかもしれませんが。
まとめ
一言で表現するなら、Composerは開発を効率的にしてくれます。
だから、多くの開発者が集まります。
その結果として、便利なライブラリが公開されます。
その便利なライブラリを求めて、また多くの開発者が集まります。
まさに、好循環です。
以上、Composerについて説明しました。
次は、Composerのシステム要件を確認します。
Composerのシステム要件
現時点(2021年6月)でのComposerの最新バージョンは、2.1.1となります。
更新は日々行われているような感じです。
システム要件は、次の3つを確認します。
- サポートOS
- php-cli
- PHPバージョン
それぞれを以下で説明します。
サポートOS
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
公式サイトでは、次のように記載されています。
Composer is multi-platform and we strive to make it run equally well on Windows, Linux and macOS.
クロスプラットフォーム対応に努力しているということです。
php-cli
PHPのバージョンになります。
PHP 5.3.2以降である必要があります。
Composerは、コマンドラインのPHPをベースにして動きます。
そのため、正確にはphp-cliのバージョンが5.3.2以降ということになります。
よって、「php- v」でバージョンを確認すればOKです。
なお、検証ではPHP 8.0を利用しています。
PHP 8.0のインストールに関しては、次の記事で解説しています。
まとめ
php -v
上記のコマンドにより、Composerのシステム要件は確認可能です。
php-cliのインストール状況、PHPのバージョンを一気に確認できます。
あと、これら以外にも必要な設定が存在しています。
それらに関しては、インストールの際にインストーラーがチェックしてくれます。
したがって、インストーラー経由でのインストールを行います。
以上、Composerのシステム要件についての説明でした。
次は、Composerをインストールしていきます。
Composerのインストール
Composerは、単なるPharファイルでした。
Javaにおけるjarと似たようなモノが、pharとなります。
そして、composer.pharは実行可能なファイルです。
よって、Composerのインストールは次の処理で進めます。
- composer.pharをダウンロードする
- composer.pharを「composer」コマンドで実行可能にする
それぞれを以下で説明します。
composer.pharをダウンロードする
下記URLから、ダウンロードが可能です。
https://getcomposer.org/download/2.1.1/composer.phar
composer.pharは、wgetなどでダウンロードすることができます。
しかし、そのままだとインストーラーを経由しないことになります。
インストーラーは、PHPの設定(php.ini)をチェックしてくれます。
その際に問題があれば、エラーや警告を表示してくれるようです。
それなら、そのインストーラーを利用しようとなりますよね。
インストーラーは次のURLからダウンロードできます。
https://getcomposer.org/installer
これをダウンロードしても構いません。
ただ、公式では次のコマンドを使うことをおススメしています。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"
上記コマンドは、単純に次の処理をPHPで実行しているだけです。
- インストーラーをcomposer-setup.phpとして保存
- インストーラーが正しいモノかどうかチェック
- インストーラーを実行
- composer-setup.phpを削除
上記実行後には、同一ディレクトリ上にcomposer.pharを確認できます。
また、composer.pharは実行権限付きのファイルとして作成されています。
composer.pharを「composer」コマンドで実行可能にする
composer.pharを用意することはできました。
しかし、このままでは、「composer」コマンドは実行できません。
composer.pharにパスを通すという手もあります。
しかし、ここでは公式の手順に従います。
$ sudo mv composer.phar /usr/local/bin/composer
これにより、「composer」コマンドが使えるようになりました。
以上、Composerのインストールについて説明しました。
最後は、Composerの動作確認を行います。
Composerの動作確認
「composer」コマンドを実行します。
$ composer -v ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 2.1.1 2021-06-04 08:46:46 ~省略~
上記のように表示されれば、Composerは動作しています。
以上、Composerの動作確認を説明しました。