Windows10環境にcomposerを導入しようと色々な情報を調べたが、どの情報も単純なインストール手順の説明に終始しており、composerの実行環境にまで踏み込んだ情報が少なかった。
composerをインストールすると、その実体はどこに保存されるのか?そしてpath変数等の環境はどのようにカスタマイズするのか等、少し踏み込んで調べたのでその結果をシェアする。
composerとは
conposerとは、PHPライブラリの依存関係を管理するためのツール。
PHPでシステムを構築する際には、様々な外部ライブラリを利用する。
これらのライブラリは、便利である一方、ライブラリ間での依存関係が複雑に入り組むことが多い。
例えば、Aというライブラリを使用するには、Bというライブラリが必要といった具合だ。
結果として、ライブラリ間にある「依存関係」を把握し、管理しなければならない。
このような手間のかかるライブラリの依存関係の管理に関する問題を解決するツールが「composer」だ。
composerの実体とは?Windowsネイティブアプリケーションなのか?
composerの実体は、「Pharアーカイブ」として提供されている。
ファイル名は、「composer.phar」だ。
pharアーカイブなので、普通のPHPスクリプトとして実行出来る。
つまり、下記の形式で実行できる。
php composer.phar
composerは、OSを問わず、同じ形式で提供されているらしい。
なので、Windows環境でも、コマンドプロンプトから「php composer.phar
」を実行すればcomposerを実行できる。
composerがインストールされるディレクトリ
composerがインストールされるディレクトリは、インストール時に選択するオプションの内容(インストール時に選択する「Select install mode」)によって変わる。
「Install for all users(recommended)」を選択した場合、C:\ProgramData\ComposerSetup ディレクトリにインストールされる。
「Install for me only」を選択した場合、C:\Users\ユーザー名\AppData\Local\ComposerSetup ディレクトリにインストールされる。
composer.pharの起動
Windowsの場合、composer.pharの起動手順は、バッチファイルとして提供されている。
バッチファイル名は「composer.bat」。
バッチファイルはとてもシンプルな作りで、ほぼ「php composer.phar
」を実行するのと同じ処理だ。
composerを動かすのに必要なシステム要件
composerを動作させるには、PHP 5.3.2以上が必要だ。(2020/02/15現在)
システム要件については、composerの公式ドキュメントに記載があるので、適宜確認して欲しい。
参照:Composer requires PHP 5.3.2+ to run.
Windowsでcomposerを動作させる場合も、PHP 5.3.2以上が導入されていることが前提となる。
また、PHPにはpathを通しておくと、運用がわかりやすくなる。
つまり、コマンドプロンプトで「php」と入力して、phpが起動できるようにしておくと、何かと便利だ。
composerのインストール
Windows10にcomposerをインストール手順を示す。
composerのダウンロード
composerダウンロードページから、Windows Installerをダウンロードする。
インストーラのファイル名は、Composer-Setup.exe。
Select install mode
インストールしたcomposerを、すべてのユーザーに利用可能とするか、あるいは特定のユーザーのみに使用を限定するかを選択する。
デフォルト値は、「Install for all users(recommended)」。
どちらを選択するかは、運用方針によるが、どちらを選んでもcomposerの動作に大きな影響は無いので、デフォルト値(Install for all users(recommended))で良いだろう。
Installation Options
uninstallerを含めるか否かを選択するオプション画面。
「Developer mode」オプションボタンを選択すると、uninstallerが含まれない。
このオプションも、composerの動作に大きな影響は無い。但し、composerのアンインストール作業の負担を軽減するためには、uninstallerを含めた方が良いだろう。
Setting Check
composerを実行するPHPを指定する。
既に、PHPがインストール済みであれば、テキストボックスには自動的にPHPのパスが入力されているはずだ。
一つの環境に、バージョンの異なるPHPを同居させているような場合は、使用するPHPを指定してもいいだろう。
使用するPHPにこだわらないのであれば、デフォルト表示された情報でインストールを進める。
Proxy Settings
プロキシサーバーに関する設定。もしプロキシサーバーを使用していればここで指定する。
Ready to Install
composerのインストールオプションの確認画面。
確認し、問題なければ「Install」ボタンを押下しインストールを開始する。
Information
composerインストール後の注意諸々。一応目を通しておくが、あまり使わない。
Completing Composer Setup
composerのインストール完了画面。
composerの起動確認
composerのインストールが完了したら、起動確認をする。起動手順は、コマンドプロンプトで「composer」と入力する。上記画面が表示されればcomposerのインストールは完了している。
もし、上記画面が確認出来ない場合は、コマンドプロンプトを開きなおして、composerコマンドを入力してみる。
composerの実行環境
Windows10にインストールしたcomposerの実行環境は下記の通り。
ディレクトリ構成
composerをインストールすると、ディレクトリ構成は下記のようになる。
- C:\ProgramData\ComposerSetup
- インストール中の「Select install mode」選択で「Install for all users(recommended)」を選択した場合、composerのPhar アーカイブ(composer.phar)が配置される。
- C:\Users\ユーザー名\AppData\Local\ComposerSetup
- インストール中の「Select install mode」選択で「Install for me only」を選択した場合、composerのPhar アーカイブ(composer.phar)が配置される。
- C:\Program Files (x86)\ComposerSetup
- 本ディレクトリには、composerのアンインストーラが配置される。
- C:\Users\ユーザー\AppData\Roaming\Composer
- ユーザー別の設定ファイルを保持するディレクトリ。
composerのインストールは、composerインストーラによって実行される。
Windows環境にcomposerをインストールすると、composerに関連したディレクトリは、概ね上記のような構成になる。
なので、インストールしたはずのcomposerが意図した動きをしないという時は、上記の環境あたりから障害解析を進めれば、何かの手がかりになると思う。
path環境変数
composerをインストールすると、path環境変数は下記のように設定される。
composerの公式から提供されるインストーラーを使用すれば、path環境変数は、自動的に設定されるはずだ。
- C:\ProgramData\ComposerSetup\bin
- composer本体のあるディレクトリ。
- C:\Users\ユーザー\AppData\Roaming\Composer\vendor\bin
- composerでインストールするパッケージをデフォルトで配置するディレクトリ。
composerはphpスクリプト
Windows版のcomposerは、Windowsネイティブのアプリケーションではなく、phpスクリプトで実装されている。
phpの動作環境さえ整えればcomposerを利用できるという設計はシンプルで、開発環境のメンテナンスにかかるコスト削減に寄与するのではなかろうかと考えられる。
参考資料
composerに関する参考資料を下記に示す。
- Composer公式サイト
- Composerの公式サイト。
- Composer による PHP 依存関係の処理
- composerとは?から始まり、簡単な使い方まで。わかりやすく有用な情報。
- Phar アーカイブの使用法: 導入
- Pharアーカイブについての公式ドキュメント。