初めに
BOOTHで販売されているComposerの教科書 -モダンなPHP開発の基礎知識-を過去に一度読了したはいいものの所々忘れてたりもしたので改めて入門しました。メインは自分のための備忘録なのでより詳しい内容についてはリンク先から購入をオススメします。
バージョン指定の早見表
例 | 説明 | |
---|---|---|
① | 1.0.2 | 特定のバージョンのパッケージのみ指定 |
② | >=1.0,<2.2 | 対象とするバージョンの範囲を指定 |
③ | 1.0 - 2.1 | 対象とするバージョンの範囲を指定 |
④ | 1.0.* | バージョン番号のパターンを指定 |
⑤ | ~1.2.3 | 特定のバージョン以降を指定(最後の数字のみ更新) |
⑥ | ^1.2.3 | 特定のバージョン以降を指定(最初の数字以外を更新) |
- スペースやカンマ(,)で区切るとAND
- パイプ(|)で区切るとOR
- ②と③は同じ意味
- ④は「>=1.0,<1.1」と同じ意味
- 「~1.2」は「>=1.2,<2.0」と同じ、「~1.2.3」は「>=1.2.3,<1.3」と同じ
- 「^1.2」は「>=1.2,<2.0」と同じ、「^1.2.3」は「>=1.2.3,<2.0」
コマンド早見表
コマンド | 説明 | |
---|---|---|
① | composer init | 初期化 |
② | composer require [パッケージ名] | パッケージを新規インストール(composer.jsonも書き換えられる。) |
③ | composer require [パッケージ名]:バージョン番号 | 指定バージョンでパッケージを新規インストール(composer.jsonも書き換えられる。) |
④ | composer update | composer.jsonの記述バージョン指定範囲内で最新バージョンがインストールされる。 |
⑤ | composer update [パッケージ名] | 指定パッケージのみcomposer.jsonの記述バージョン指定範囲内で最新バージョンがインストール |
⑥ | composer show | インストール済みのパッケージ表示 |
⑦ | composer info | インストール済みのパッケージ表示 |
⑧ | composer remove [パッケージ名] | 指定パッケージの削除 |
⑨ | composer search [キーワード] | コマンドでパッケージ検索(Packagistの方が探しやすいので多分ほぼ使わない。) |
⑩ | composer browse [パッケージ名] | Packagistの情報を基に指定パッケージのソースページまでWebブラウザでジャンプ |
⑪ | composer create-project --prefer-dist laravel/laravel [プロジェクト名] | Laravelプロジェクトのスケルトン作成 |
⑫ | composer create-project --prefer-dist cakephp/app [プロジェクト名] | CakePHPプロジェクトのスケルトン作成 |
⑬ | composer require [パッケージ名] --dev | 開発用パッケージのインストール |
⑭ | composer install --no-dev | 開発用パッケージを除いてパッケージをインストール(本番環境向けコマンド) |
⑮ | composer update --no-dev | 開発用パッケージを除いてパッケージをcomposer.jsonの記述バージョン指定範囲内で最新バージョンにストール(本番環境向けコマンド) |
⑯ | composer help | composerコマンドのマニュアル確認 |
⑰ | composer help [コマンド] | 指定したcomposerコマンドのマニュアル確認 |
⑱ | composer self-update | composer本体の更新 |
⑲ | composer validate | composer.jsonの記述チェック |
⑳ | composer diagnose | Composer関連の状態チェック |
Composerによるパッケージ導入までの流れ
コマンドのみ
# 対話的にComposer使用のための事前準備を実施
composer init
# ライブラリを追加でインストール
composer require [追加したいライブラリ名]※1
※1:開発環境用でインストールする場合はcomposer require [追加したいライブラリ名] --dev
でOK
composer.jsonを修正 + コマンド
require or require-devに必要なパッケージを以下の例のように記述
composer.json
{
...
"require": {
"abraham/twitteroauth": "6.*",
"monolog/monolog": "*"
},
"require-dev": {
"phpunit/phpunit": "^11.3"
}
}
その後以下コマンド実行
composer install