PHP 開発において、パッケージの依存関係の管理は重要です。プロジェクトの依存関係に不整合が起きると、開発ができなくなるからです。Composer は、それらを簡単に管理できるように設計されており、初心者にも使いやすいツールです。
この記事では、AlmaLinux 9 環境に Composer をインストールする手順をわかりやすく解説します。AlmaLinux 9 で PHP 開発の第一歩を踏み出す方や、依存関係の管理に悩んでいる方は、ぜひこの記事を読んで試してみてください。
目次
AlmaLinux9にComposerをインストールする手順
AlmaLinux 9 に Composer をインストールする手順は、以下の 6 つのステップに分かれています。
- システムをアップデートする
- PHPをインストールする
- Composerのインストーラーをダウンロードする
- Composerをグローバルにインストーラーする
- Composeのインストーラーを削除する
- Composerのバージョンを確認する
各ステップのやり方について詳しく見ていきましょう。
①システムをアップデートする
Composer をインストールする前に、まずは AlmaLinux 9 のシステムを最新の状態にアップデートしましょう。なぜなら、新しいパッケージとOSの互換性を確保するために重要だからです。ターミナルを開き、次のコマンドを入力します。
sudo dnf update
アップデートには数分から数時間かかる場合があるので、時間に余裕を持って実行しましょう。また、アップデート中はシステムに負荷がかかるため、他の重要な作業と重ならないように注意が必要です。アップデートしたら、システムを再起動しましょう。
②PHPをインストールする
Composer をインストールする前に、PHP がシステムにインストールされていなければなりません。Composer は PHP の依存関係管理ツールなので、PHP がなければ機能しないからです。
まず、PHPがすでにインストールされているかどうかを以下のコマンドで確認します。
php -v
バージョン情報が表示されれば、PHP はすでにインストールされています。インストールされていなければ、「command not found」というメッセージが表示されます。
すでにインストールされている場合は新たにインストールする必要はありません。もしインストールされていない場合は、次のコマンドを実行し、インストールします。
dnf install php-cli
③Composerのインストーラーをダウンロードする
Composer をインストールするには、まず公式サイトからインストーラーをダウンロードする必要があります。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
これでカレントディレクトリにcomposer-setup.phpがダウンロードされます。
次に、ダウンロードしたcomposer-setup.phpの正当性を確認するために、SHA-384ハッシュ値を使用してファイルが正しいものであるかを検証します。以下のコマンドを実行します。
php -r "if (hash_file('sha384', 'composer-setup.php') === 'ここには最新のハッシュ値を入力') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
ハッシュ値はcomposerの公式ダウンロードサイトで確認しましょう。
上記ページにアクセスすると、上記コマンドと共にハッシュ値が記載されていますので、そのままコピー&ペーストします。
※ハッシュ値はバージョンアップなどで変わることがありますので、必ず上記ページで最新のハッシュ値をチェックするようにしましょう。
④Composerをグローバルにインストールする
Composerのインストーラーをダウンロードしたら、グローバルにインストールしましょう。ローカルにインストールすると特定のプロジェクトでしか使えないからです。Composer をグローバルにインストールするコマンドは次のとおりです。
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
これで、システム内のどこからでもcomposerコマンドが使えるようになり、プロジェクト間で依存関係の管理ができるようになります。
⑤Composeのインストーラーを削除する
Composer をインストールした後は、インストーラーはいらなくなるので削除しましょう。セキュリティ上の理由から、不要な実行ファイルをシステムに残しておかないほうがよいからです。また、ディスクスペースを節約するためにも、インストーラーは削除するほうがよいでしょう。
Composer のインストーラーを削除するには、次のコマンドを実行します。
php -r "unlink('composer-setup.php');"
⑥Composerのバージョンを確認する
Composer のインストールが完了したら、無事にインストールされているかどうか、バージョンを確認してみましょう。バージョン確認のコマンドは以下のとおりです。
composer --version
入力してEnter キーを押すと、Composer のバージョン情報が表示されます。例えば、「Composer version 2.1.3 2021-06-09 16:31:20」のような形式です。
この情報から、Composer のバージョン番号と、そのバージョンのリリース日を確認できます。この情報が表示されたらインストールは成功したとみなしてよいでしょう。
AlmaLinux9でのComposerの基本的な使い方
AlmaLinux9でComposerを使ってできることとしては以下の5つが挙げられます。
- プロジェクトの依存関係をインストールする
- 新しいパッケージを追加する
- パッケージを最新版にアップデートする
- インストール済みのパッケージのリストを表示する
- オートローディングを実施する
ここからは各項目について詳しく見ていきましょう。
プロジェクトの依存性をインストールする
「プロジェクトの依存性をインストールする」とは、プロジェクトに必要なライブラリやフレームワークをインストールすることです。
具体的な手順は、プロジェクトのルートディレクトリに移動し、以下のコマンドを実行します。
composer install
これにより、プロジェクトに必要なすべてのパッケージと依存関係がインストールされます。
注意点としてはcomposer.json ファイルが存在するかどうかを確認してください。このファイルには、プロジェクトに必要なパッケージとそのバージョンが記載されており、Composer はこの情報に基づいて依存関係をインストールします。なお、composer.json ファイルは開発者が事前に準備しておく必要があります。
composer.jsonファイルは、プロジェクトのルートディレクトリに配置することが一般的です。このファイルはプロジェクトで必要とされる依存関係を管理するためのものであり、以下のように手動で作成することができます。
- テキストエディタを開きます。
- 必要な依存関係をJSON形式で記述します。
- 「composer.json」という名前で保存します。
- ファイルをプロジェクトのルートディレクトリに置きます。
例えばcomposer.jsonは以下のような形式で書きましょう。
{
"require": {
"monolog/monolog": "3.6.0",
"guzzlehttp/guzzle": "^7.0"
}
}
この例では、monolog/monolog パッケージと guzzlehttp/guzzle パッケージがプロジェクトに必要なので、それをJSON形式で記述しています。
作成したcomposer.jsonファイルが正しく配置されていれば、”composer install” コマンドを実行することで、指定した依存パッケージがプロジェクトにインストールされます。正確な依存関係の管理には、このファイルの維持更新が重要です。
‘composer install’を実行すると、以下のような警告が出る場合があります。
As there is no 'unzip' nor '7z' command installed zip files are being unpacked using the PHP zip extension.
This may cause invalid reports of corrupted archives. Besides, any UNIX permissions (e.g., executable) defined in the archives will be lost.
Installing 'unzip' or '7z' (21.01+) may remediate them.
これはエラーではありませんが、最適な解凍方法(unzipまたは7z)がインストールされていないため、正しく解凍できない可能性があるという警告です。これを解消するには以下のコマンドで’unzip’か、または’7zip’をインストールします。
dnf install unzip
dnf install p7zip
新しいパッケージを追加する
「新しいパッケージを追加する」とは、プロジェクトに新しいライブラリやフレームワークをインストールすることを意味します。Composer を使って新しいパッケージを追加するには、プロジェクトのルートディレクトリに移動し、以下のコマンドを入力します。
composer require パッケージ名
例えば、「composer require monolog/monolog」と入力すると、Monolog というログライブラリをプロジェクトに追加できます。
ただし、無闇にパッケージを追加すると、プロジェクトが複雑化し、管理が困難になるので必要なものだけを追加するようにしましょう。
パッケージを最新版にアップデートする
パッケージを最新版にアップデートするのは重要な作業です。なぜなら、ソフトウェアの機能を最新にしたり、セキュリティ上の問題を修正したりする必要があるためです。Composer を使ってパッケージを最新版に更新するには、プロジェクトのルートディレクトリで以下のコマンドを入力し、Enter キーを押します。
composer update
ただし、アップデートにより互換性の問題が発生するかもしれません。そのため、更新前にバックアップを取るか、一時的なブランチを作成してから作業しましょう。
インストール済みのパッケージのリストを表示する
不要なパッケージの削除や必要なパッケージの追加など、プロジェクトを管理する際に、インストール済みのパッケージのリストを知りたい場合があります。
その場合には、ターミナルで以下のコマンドを実行します。
composer show
これでインストールされているすべてのパッケージのリストが表示されます。
また、特定のパッケージの詳細情報を確認したい場合は、以下のコマンドを入力します。
composer show パッケージ名
ただし、このコマンドを実行する前に、プロジェクトのルートディレクトリにいることを確認してください。Composer は、現在のディレクトリの composer.json ファイルに基づいてパッケージのリストを表示するからです。
オートローディングを実施する
オートローディングは、PHP のクラスを自動的に読み込む機能です。Composerを使うと、このオートローディングを簡単に設定できます。
まず、composer.json ファイルにオートローディングを設定したいディレクトリを指定します。例えば、src ディレクトリにあるクラスをオートロードしたい場合は、composer.json ファイルに次のように記述します。
{
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}
次に、ターミナルで以下のコマンドを実行します。
composer dump-autoload
これにより、Composer は vendor/autoload.php ファイルを生成し、指定したディレクトリのクラスを自動的に読み込むようになります。ただし、オートローディングは PSR-4 規約に準拠したクラス名とディレクトリ構造が必要なので、それに注意しながら設定しましょう。
まとめ
この記事では、AlmaLinux 9 に Composer をインストールし、その基本的な使い方を解説しました。手順に沿って進めることで、依存関係の管理をシンプルにし、開発をスムーズに進められます。これから PHP 開発を始める方や、依存関係の管理に悩んでいる方は、ぜひこの記事を参考にして Composer のメリットを実感してください。
開発・検証・プログラミング学習に。無駄なコストもかけたくないあなたにおすすめのVPS
カゴヤのVPSは初期費用無料でアカウント登録さえしておけば、必要なときだけ日額課金でサーバーを立ち上げ可能!料金は使った分だけ。