110
87

More than 5 years have passed since last update.

macOS に composer をインストールする

Posted at

composer は PHP のパッケージ管理ツールです。
インストールの仕方は Composer の公式サイト に書かれていますが、 mac にインストールする場合に、公式サイトの説明だけだと動かないことがあるので、補完しつつ手順をまとめてみました。

※ この内容は古くなる可能性があります。公式の最新のドキュメントを軸に、補完的に参照してください。

事前準備: macOS Sierra 以降の場合

macOS 10.12 (Sierra) 以降の macOS では、 デフォルトでは OpenSSL がインストールされないようになったようです。

OpenSSL が使用できないと、 composer コマンドがライブラリのダウンロードに失敗するエラーを起こすので、手動でインストールする必要があります。

次の手順は、 Homebrew を使用したインストールコマンドです。 Homebrew 自体のインストール方法については、Homebrew の公式サイトを参照してください。

Homebrew がインストールされていない場合、先にインストールします。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

続いて、 Homebrew を使って OpenSSL をインストールします。

brew install openssl

Composer をダウンロードする

Download Composerページにある次のコマンドを実行します。
この2行目のコマンドは、ダウンロードしたインストーラーが正規の内容かを確認しています。バージョンが変わるとコマンドの内容が変わることがあるので、公式の記述からコピーして実行するようにしてください。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

ここまでの処理が正常に完了したら、 composer.phar というファイルが生成されているはずです。 この composer.phar が composer コマンドの実体になります。

パスを通す

ダウンロードしたままの状態では、他のディレクトリから使うときに不便です。 どのディレクトリからも composer コマンドを使えるように、 "パスを通す" 操作をします。

公式ドキュメント で、そのコマンドが紹介されていますが、 mac では管理者権限で実行しないと失敗するようなので、 先頭に sudo を追加し、下記のコマンドで実行します。

※ このコマンドを実行すると パスワードを求められます。 macにログインするときのパスワードを入力してください。

sudo mv composer.phar /usr/local/bin/composer

これが成功すると、 composer.phar がなくなっていて、 /usr/local/bin/composer に移動されているのが確認できます。

うまくインストールできたか確認する

新しい ターミナル を開いて、次のコマンドを実行します。

composer --version

Composer のバージョン番号が表示されたら成功しているはずです。

110
87
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
110
87