【PHP】composer installの使い方を分かりやすく解説

composer installの使い方を分かりやすく解説

今回は、PHPのライブラリ管理ツールのcomposerについての話です。

PHPで複数のライブラリを利用するときは、依存関係について意識しなければなりません。依存関係を気にせず適用にライブラリをインストールしてしまうと、プログラムが正常に動かなくなります。必要なライブラリを自分で収集するのがめんどくさいと思っている人は、composerを利用するのがおすすめです。

そこで今回は、composerの最も基本的な使い方である

・コマンド「composer install」の使い方

について解説します。

composer installの基本

composerとは、PHPのライブラリを利用する際に考慮すべき依存関係を管理するためのツールです。composer installとは、composerの機能(コマンド)の1つで、指定のファイルを作成した後に以下のように実行することで、ファイル内に記述されたライブラリをインストールする機能を持っています。

ここでは、コマンド「composer install」の基本的な使い方について説明してきます。

  1. composer.jsonを作成する
  2. composer installを実行する
  3. インストールしたライブラリの動作確認

composer.jsonを作成する

まずは、composer.jsonを作成します。composer.jsonは、インストールするライブラリに関する情報がJSON形式で記載されたファイルです。JSONは、以下のように変数名と値をコロンで対応付けられたシンプルな構造となっています。

composer.jsonでは、インストールしたいライブラリを以下のように記述します。

例えば、年月日や時間を取り扱うライブラリ「Carbon」をインストールしたい場合は、以下のように記述します。

バージョンを指定する場合は、「メジャーバージョン」「マイナーバージョン」「パッチバージョン」の数字をドットで結びつけて記述します。加えて、以下に示す記号を利用することで、インストールするバージョンに制限をつけることができます。

記述方法 記述例 インストールされるバージョン 特徴
ワイルドカード(*)で指定 1.1.* 1.1.0以上1.2.0未満 指定した範囲の中で最新のバージョンがインストールされる
ハット(^)で指定 ^1.1.4 1.1.4以上1.2.0未満 指定した範囲の中でパッチバージョンが最新のものがインストールされる
チルダ(~)で指定 ~1.1.4 1.1.4以上2.0.0未満 指定した範囲の中でマイナーバージョンが最新のものがインストールされる

どのバージョンをインストールすれば分からない場合は、ライブラリを提供している公式サイトに目を通してみましょう。たいていの公式サイトでは、composerを利用したライブラリのインストール方法を記載しているため、その手順に従ってインストールすれば失敗することはありません。

composer installを実行する

composer.jsonを作成したら、以下のコマンドを叩きます。

インストールが終わると、composer.jsonが置かれているディレクトリに、以下のファイル・ディレクトリが生成されます。

  • vendor ディレクトリ
  • composer.lock ファイル

vendorディレクトリには、先程叩いたコマンドによってインストールされたライブラリプログラムが、composer.lockには、インストールされたライブラリに関する詳細情報が記載されています。composer.lockは、他の開発者に渡してcomposer installを実行することで、同じ環境を構築することができるため、チームで開発するために重要なファイルです。

先程例に挙げたCarbonライブラリをcomposer installでインストールすると、Carbonに紐付くライブラリを検索して自動的にまとめてインストールされ、vendorディレクトリとcomposer.lockが作成されます。

インストールしたライブラリの動作確認

Carbonがインストールされているかを確認するために、Carbonが提供している機能を利用して、簡単な動作確認を行います。以下のサンプルコードを記述して任意のファイル名で保存してください。

ブラウザで確認すると、年月日が出力されていることが分かります。

ブラウザ確認結果

PHPで日時を扱うならCarbonを!設定と使い方を解説 PHPで開発するならautoloadは必須!必要性と設定方法を解説

composer installのオプション

コマンド「composer install」では、オプションを指定することでさまざまな操作を実行できます。ここでは、各オプションの機能について解説します。

数が多いため、ここではよく利用する以下の5つのオプションについて、詳しく説明します。

  • –prefer-source
  • –prefer-dist
  • –dry-run
  • –dev
  • –no-dev

–prefer-source / –prefer-dist

–prefer-sourceオプションと–prefer-distオプションは、インストールしたいライブラリについてどの種類をダウンロードするかを指定します。違いは以下の通りです。

オプション 機能
–prefer-source 開発版をダウンロード
–prefer-dist 安定版をダウンロード

特に指定がなければ、自動的に–prefer-distが指定された上で実行されます。

–dry-run

–dry-runオプションを付与して実行すると、実行結果をシミュレーションしてくれます。ライブラリをインストールすると結果はどうなるかを事前に確認したい場合に便利です。

–dev / –no-dev

–devオプションと–no-devオプションは、開発環境のみに適用するライブラリをインストールするか否かを指定します。例えば、単体テストに関する機能を提供するライブラリ(phpunit)は、本番環境で提供する必要はないため、開発環境のみに適用するのが適切です。

composer.json内で、以下のように記述することで、開発環境のみに適用するライブラリを指定することができます。

その他のオプション

その他のオプションの機能については、以下の通りです。

オプション 機能
 –no-autoloader  autoloader.phpを作成しない
 –no-scripts  composer.json内で定義されたスクリプトを実行しない
 –no-progress  インストールの進捗を表示しない
 –optimize-autoloader  最適化されたautoloader.phpを作成する
 –classmap-authoritative  クラスマップのみをautoloader.phpに取り込む
 –apcu-autoloader  APCu(PHPによって生成されたページをキャッシュする機能)によって、クラスをキャッシュする
 –apcu-autoloader-prefix  APCuキャッシュにカスタムプレフィックスを使用する
 –ignore-platform-reqs  ライブラリのインストール要件を考慮せずに強制的にインストールする

まとめ

いかがでしたか?

今回は、

・コマンド「composer install」の使い方

について解説しました。

composer.jsonの書き方さえ理解すれば、使い方はそれほど難しくありません。何回も繰り返して使えば、composer installの使い方にも慣れることでしょう。