PHP: Composer

スポンサーリンク

はじめに

※昔のメモの焼き直しです

Composer は、PHP のパッケージ管理システムです。
従来の PEAR だと root 権限が必要だったり、特定の場所にインストールされてしまったりで使い勝手が悪かったのですが、Composer であれば、一般ユーザーで好きな場所にインストールすることが出来て非常に便利です。
PHPを使っていると様々な場面で使われることが増えているので、一通り概要は抑えておいたほうが良いものだと思います。

インストール

公式サイトは以下です。

https://getcomposer.org/

インストールする時には、https://getcomposer.org/download/ を参照して、Command-line installation の箇所に記載されているコマンドをコピペして実行します。
例えば、以下のようなコマンドになります。

 php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
 php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
 php composer-setup.php
 php -r "unlink('composer-setup.php');"

上記を実行すると、カレントディレクトリに composer.phar というファイルが作成されます。
これを使用してパッケージ管理を行うことが出来ます。

使用方法

composer.phar は PHP に path が通っていれば、コマンドとして使用可能です。
例えば、以下のように実行すると、指定したパッケージをインストールすることが可能です。
また、その際に composer.json が作成されます。

 % composer.phar require xxxxx/yyyyy

composer.json がある状態であれば、下記のように実行すると composer.json に従ってパッケージがインストールされます。
composer.lock が存在する場合には、composer.lock に従ってパッケージがインストールされます。

 % composer.phar install

です。
一度インストールを行った後は、以下でパッケージのバージョンを更新することが出来ます。

 % composer.phar update

composer.lock はインストールされたパッケージの情報が記載されるファイルです。
異なる環境で同じバージョンのパッケージを入れたい場合には、このファイルを使ってインストールします。

Composer自身のバージョンアップ

composer update などを実行した際に、Composer 自身のバージョンアップが可能な時には下記のようなメッセージが表示されることがあります。

% php composer.phar update
Loading composer repositories with package information
Warning from https://packagist.org: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. See https://getcomposer.org/2

上記のメッセージは、 Composer のバージョン1系を使っていてバージョン2にアップデート可能な時に表示されます。
このような時には、以下のようにして Composer をバージョンアップすることができます。

% php composer.phar self-update
Updating to version 2.0.12 (stable channel).
   Downloading (100%)
Use composer self-update --rollback to return to version 1.6.4

コメント

タイトルとURLをコピーしました