Composer使ったのでメモ
Composerとは
Composerはライブラリの依存関係を管理してくれるツールです。 ライブラリAを使おうとしたら、内部的にライブラリBやCを使っていることがあります。ライブラリAを使うために自分でBやCをインストールしたりするのは手間がかかります。
Composerを使ってライブラリAをインストールすると、いい感じに依存しているライブラリBとCもインストールしてくれます。
# パッケージAをインストールすると、依存するパッケージB, Cもインストールしてくれる
$ composer require パッケージA
ただし、依存するライブラリBとCがcomposerに対応している必要があります。
Composerをインストールする
公式サイトのダウンロードページからダウンロードする。 getcomposer.org
Composerでプロジェクトを作成する
$ composer init
設定を色々と聞かれた後に composer.json
ファイルが作成される。
composer.jsonにはライブラリの依存関係が記載されている。
Composer.jsonがあるディレクトリで以下コマンドを実行すると、依存しているライブラリをインストールしてくれます。
$ composer install
プロジェクトの作成はテンプレートを使うこともできる。
# laravelの場合 $ composer create-project --prefer-dist laravel/laravel PROJECT_NAME
パッケージをインストールする
$ composer require パッケージ名:タグ
例)
$ composer require package:dev-master
パッケージの情報はcomposer.jsonに記載され、インストールしたバージョン等の情報はcomposer.lockに記載される。 composer.lockファイルはComposerでライブラリをインストールする際に作成される。 composer.jsonに記載されている、インストールしたパッケージのバージョンなどの情報が保存されている。 composer.lockを共有することで、他の人があとでcomposerを使ってインストールすると同じバージョンのライブラリをインストールしてくれる。
パッケージを削除する
$ composer remove パッケージ名
composer.jsonとcomposer.lockからもパッケージ名が削除される。
パッケージを全て最新化する
$ composer update
パッケージを新しくしたい時に実行する。composer.lockの内容を無視して、composer.jsonにあるパッケージを最新の状態でインストールして、composer.lockも更新される。 composer.jsonに記載されているパッケージが全て最新になる。
特定のパッケージだけ最新化する
$ composer require パッケージ名
気軽にupdateするとcomposer.jsonに記載されている全てのパッケージが更新されてしまうので、パッケージ名を指定して更新する。 パッケージをインストールするときと同じ。
オートローダを作成・更新する
$ composer dump-autoload
autoload.phpが作成・更新される。