Open3
composer 学習
これまでcomposerを雰囲気で使ってたが、既存の環境がおかしくなって戻せない、などを反省し学習のメモ。
composer とは
- PHP開発では必須の、パッケージの依存を管理するツール
- パッケージの依存関係を解消してくれる
- composerで扱えるパッケージは、取得元となるリポジトリhttps://packagist.org/ に登録されている
composer.json
- インストールしたいパッケージをバージョンとともに、定義するファイル
- 手動で作成
-
composer init
コマンドで、対話式に入力・作成もできる
composer.lock
- パッケージがインストールされると、プロジェクトルートに追加されるファイル
- インストールされたパッケージのバージョンのリストがcomposerにより書き込まれる
- composer.lock に書かれたバージョンに(composer.jsonの内容に関わらず)ロックされる
- composer.lock が存在しない場合、パッケージとバージョンをcomposer.jsonから読み、ロックファイルが生成される
- パッケージをアップデートしたい場合、
update
コマンドを実行することで、composer.json に従い、新しいバージョンにアップデートされる
composer.phar
- composer の実行ファイル
- composer の機能を一つのファイルにまとめたアーカイブ形式のファイル
各種コマンド
- composerの動作確認/バージョン確認/コマンドの一覧
$ php composer.phar
- install
composer.lockファイルの内容に従い、パッケージをインストールします。(composer.lockがなければ、composer.json の定義により生成)
$ php composer.phar install
- update
composer.jsonに従って、依存関係にあるものを最新のバージョンにアップグレードし、composer.lockファイルを更新します。
$ php composer.phar update
- require
パッケージを指定してインストールし、jsonとlockに追加される。
php composer.phar require <vendor>/<packageName>
ex)
php composer.phar require psr/log
- dump-autoload
クラスautoloader の更新
$ php composer.phar dump-autoload
パッケージupdate の前に依存関係の更新を確認する
composer update --dry-run
// 特定パッケージを更新した場合の確認
composer update --dry-run <vendor>/<packageName>