【Mac】Composerのインストール方法!エラーの解決手段と原因を解説!

この記事からわかること
- MacにComposerをインストールする方法
- Composerの役割や使い方
- エラー:zsh: command not found: composerの解決法
- エラー:env: php: No such file or directoryの解決法
- Composerの使い方と役割
index
[open]
\ アプリをリリースしました /
PHPを使っていると開発をより楽に安全にするためにいろいろなフレームワークを使いたくなります。
たくさんあるフレームワークを管理するにはComposerというPHPパッケージ管理プログラムを使うのが利便性が高く主流となっています。
今回はMacの中にComposerをインストールする手順とComposerの役割や使い方、そして実際に起きたエラーの解決方法をまとめていきたいと思います。
MacにComposerをインストールする方法
MacにComposer(コンポーザー)をインストールするにはまず公式サイトにアクセスします。

トップページ下部の「Download」をクリックしてダウンロードページに移ります。

下の方にスクロールして上画像のようなバージョンと日付が羅列した「Manual Download」という項目まで移動します。その中のバージョンが最新のもの(一番上の日付が新しいもの)のバージョン部分(この場合2.1.12)をクリックします。するとファイルのダウンロードが開始します。
ダウンロードされるのは「composer.phar」というファイルです。ダウンロード後はダウンロードフォルダの中のままいじらず次のステップに進みます。(私はダウンロードフォルダからデスクトップに出してしまいましたが。。)

ターミナルでの操作
ここからはターミナルでの操作になっていきます。ターミナルは予めMacにインストールされていますのでFinderで「ターミナル」と検索、もしくは「アプリケーション」→「ユーティリティ」の中にあるので探して起動します。

現在「composer.phar」はダウンロードフォルダ(ディレクトリ)にあると思います。まずはターミナルでのカレントディレクトリをダウンロードディレクトリに変更します。カレントディレクトリとは現在アクティブになっているディレクトリ(フォルダ)のことです。デスクトップなどに写した場合は「downloads」部分を「desktop」に変更して入力してください。
カレントディレクトリを変更するのはcd
の役割なのでターミナルに入力します。$(ドルマーク)は「ターミナルに入力してね」という意味として捉えてください。ターミナルではユーザ名が入っているところを表しています。
$ cd /downloads
これでカレントディレクトリがダウンロードディレクトリに移りました。続いてターミナルにカレントディレクトリの中身を表示させる「ls
」を打ち込んで下記のように「composer.phar」があればOKです。
$ ls
composer.phar
次は「composer.phar」を格納する場所を作っていきます。mkdir
はディレクトリを作成するコマンドです。
$ sudo mkdir /usr/local/bin
sudo
をつけることでスーパーユーザ権限を付与させることができます。一般ユーザでは実行できないコマンドもこれで実行できるようになります。作成時にパスワードを問われると思いますのでMacにログイン時のパスを入力してEnterを押してください。
作成できたらファイルを移動させるmv
コマンドを使って「composer.phar」を「composer」という名前に変更して「/usr/local/bin/」の中に移動させます。
$ sudo mv composer.phar /usr/local/bin/composer

これでこのようにファイルアイコンが変更になります。アイコンが変更されているか確認するためにこのファイルを見にいきたい時はMac上部メニューの「移動」>「フォルダへ移動...」>「パスを入力」すれば移動することができます。

mvコマンド入力時に以下のようなエラーが出たら1つ前の作成処理がうまくいっていません。打ち間違いがないか確認してみてください。エラー内容は「mv:composer.pharの名前を/usr/local/bin/composerに変更します:そのようなファイルまたはディレクトリはありません」という意味です。
mv: rename composer.phar to /usr/local/bin/composer: No such file or directory
移動が無事完了したらパーミッション(アクセス権)を変更します。「a+x」は「a:全ての人」に「x:実行」権限を付与しますということです。
$ chmod a+x /usr/local/bin/composer
これで準備は完了です。
composerが正常にインストールできているかを確認するためにバージョンを確認してみます。
$ composer -v
以下のような文字が出てきたら正常にインストールされている証拠です。
$ composer -v
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.1.12 2021-11-09 16:02:04
~~~~~~
インストール時のエラー解決方法
私は最後のバージョン確認時に以下のエラーが起きてしまいました。
「env:php:そのようなファイルやディレクトリはありません」
$ composer -v
env: php: No such file or directory
このエラーは私と同じ状況の場合に起こりうるエラーだと思います。
エラー時の状況/環境
- Macを購入したて(CPUがIntelではなくM1)
- PHPがMac内にインストールされていない
MacといえばPHPがデフォルトでインストールされている聞いていましたがそれはCPU(パソコンの脳みそ)がIntel製の場合のみらしいです。最近のMacはM1というApple独自のCPUに変更になりました。
M1の場合はphp自体がそもそも入っていないのでまずはインストールするところから始めないといけないのです。
自分のMacのCPU確認方法は画面上部の「」>「このMacについて」をクリックします。するとOSのバージョンやメモリが記載された画面に切り替わります。「プロセッサ」か「チップ」の項目に「Intel Core i5」もしくは「Apple M1」と記載してあるはずです。


PHPと決めつける前にComposerが正常にインストールできているか確認しておきます。ターミナルにwhich
コマンドを入力しmv
で指定したパスが返ってきたら失敗はしていないと思います。
$ which composer
/usr/local/bin/composer
which
コマンドは環境変数PATHに設定されているルートを検索し、見つかればフルパスを返してくれるコマンドです。要するに実行ファイルが正常に存在しかつどこにあるかを教えてくれます。
環境変数PATHとはファイルを検索時に環境変数PATHに登録したアドレスも対象にしてねという変数です。
/usr/local/bin/
は何もしなくても環境変数PATHが予め通っているのでここで気にすることはありません。ここで確認したのはcomposerが正しい位置に格納されているか(格納パスを間違っていないか)です。
Composerが正常であればphpが正常にあるか調べてみましょう!フルパスが返ってこれば良いですが「php not found」と返ってきたらやはりMac内にphpがインストールされていないということになります。
$ which php
php not found
エラー解決のためにやるべきこと
エラーの原因はMacが最新だとデフォルトでphpがインストールされなくなっていたことでした。
これを解決するのは単純で、「phpをMacにインストールする」です。
phpをパソコン(Mac)にインストールする手順は2つ
- Homebrewのインストール
- phpのインストール
Homebrew(ホームブルー/ホームブリュー)とはMacOSのパッケージ管理システムの1つです。日々更新されていくプログラミング言語などのバージョン管理やインストールなどを管理しやすくしてくれるシステムです!
HomebrewがまずMacに入っているか確認してみます。Homebrewのバージョンが返ってくればOKですが返ってこない場合はインストールするところから始めましょう!
$ brew -v
Homebrew 3.3.4
Homebrewの詳しいインストール方法やエラー時の解決法、さらにphpのインストール方法はこちらの記事にまとめてあります。
Composerとは?
そもそもComposer(コンポーザー)とはPHPのパッケージ管理システムになります。Homebrewと近しいものですね!Composer(コンポーザー)は日本語で「作曲」という意味になります。
phpを使用するときに生のphpのみで開発するよりPEARなどのライブラリやLaravelなどのフレームワークを使って効率よく開発していくのが主流になります。
ライブラリやフレームワークを使うには適切な設定ファイルを適切な場所に設置しないといけません。自分で配置することもできますがComposerを使うことでコマンド1つでダウンロードから配置までを行ってくれるのです。
パッケージ管理システムを使うメリットはまさしくライブラリやフレームワークといったパッケージ管理のしやすさです。
依存関係にあるライブラリ(ライブラリAを使うにライブラリBが必須みたいな)などを一括でダウンロードや削除することができます。
パッケージ管理システムにもいくつか種類がありますが中でもComposerは対抗しているパッケージも豊富であることが大きなメリットでもあります。
対応パッケージが集められているリポジトリ(対応したパッケージ一覧を示すサイト)がありますのでそこを参照して欲しいパッケージを探してみてください。
人気リポジトリ:packagist
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。