こんにちは。よっしーです(^^)
今日は、asdfでPHPをインストールする方法についてご紹介します。
背景
自身のMac book pro に asdfコマンドで PHP をインストールしようとしたところビルドエラーになり、インストールに手間取ったので、自身への備忘の意味も込めて、この記事に残しておきます。
動作環境
この記事における動作環境は下記になります。
% sw_vers
ProductName: macOS
ProductVersion: 13.4.1
BuildVersion: 22F82
% sysctl machdep.cpu.brand_string
machdep.cpu.brand_string: Apple M1 Max
asdfコマンドについて
asdfコマンドについては、下記の記事を御覧ください。
PHPのインストール
下記の手順を実施して、PHPをインストールしようとしました。
asdf plugin list all | grep php
asdf plugin add php
asdf list-all php
asdf install php 8.2.7
ビルドエラー(1)
すると、下記のエラーになりました。
checking build system type... Invalid configuration `sodium': machine `sodium-unknown' not recognized
configure: error: /bin/sh ./build/config.sub sodium failed
下記のサイトでmacへPHPをインストールする方法について、何か記述があるか調べてみました。
そうすると下記の記述を見つけました。
macOS
To install PHP on macOS, you'll need a set of packages installed via homebrew.
There's also a set of optional packages which enable additional extensions to be enabled:
brew install gmp libsodium imagemagick
Note that the supported extension are not exhaustive, so you may need edit the bin/install script to support additional extension. Feel free to submit a PR for any missing extensions.
なので、これに従って、下記のインストールをしました。
brew install gmp libsodium imagemagick
そして、再度、下記のコマンドを実行しました。
asdf install php 8.2.7
ビルドエラー(2)
すると下記のエラーになりました。
configure: error: re2c 0.13.4 is required to generate PHP lexers.
上記と同様にre2cがインストールされていないので、下記の手順でインストールしました。
brew install re2c
そして、再度、下記のコマンドを実行しました。
asdf install php 8.2.7
ビルドエラー(3)
次は、下記のエラーになったので、brewでインストールしました。
configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>
brew install libiconv
そして、再度、下記のコマンドを実行しました。
asdf install php 8.2.7
ビルドエラー(4)
次は、下記のエラーになったので、brewでインストールしました。
configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:
brew install libzip
そして、再度、下記のコマンドを実行しました。
asdf install php 8.2.7
下記の通り成功しました。
Filesize: 3641841
[====================================================================================================>] 100% (3556/3556 kb)
Done!
動作確認
PHPのインストールができたので、インストールしたバージョンの確認と使用するバージョンを設定します。
asdf list php
asdf local php 8.2.7
下記のコマンドで動作確認をします。
php -v
下記のような出力になっていれば成功です。
% php -v
PHP 8.2.7 (cli) (built: Jul 3 2023 00:38:48) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
おわりに
今日は、asdfコマンドでPHPをインストールする方法についてご紹介しました。
インストールに失敗すると解決までに時間がかかることがありますが、この記事が誰かのお役に立てれば幸いです。
何か質問や相談があれば、遠慮なくコメントしてください。また、エンジニア案件についても、いつでも相談にのっていますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)
コメント