目的
HomebrewのPHPパッケージを7.4から8.2へ更新します。7.4と8.2では依存ライブラリicu4c
のバージョンが異なるため、反映に一手間必要です。
詳しくはこちらの記事をご覧ください。
動作環境
- MacBook Air M1 2020
- macOS Ventura 13.2.1
- Homebrew 4.0.6
- PHPはHomebrewのパッケージphp@7.4を使用
% php -v
PHP 7.4.30 (cli) (built: Jun 9 2022 09:20:03) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Xdebug v3.1.4, Copyright (c) 2002-2022, by Derick Rethans
with Zend OPcache v7.4.30, Copyright (c), by Zend Technologies
% which php
/opt/homebrew/opt/php@7.4/bin/php
72系のicu4cをインストール
PHP7.4が使用するicu4cは70系
ですが、PHP8.2は72系
を使用します。
72系のicu4cをインストールします。
# 現在は70系
% brew list icu4c --versions
icu4c 70.1
# 72系をインストール
% brew install icu4c
icu4c 70.1 is already installed but outdated (so it will be upgraded).
# 以下省略
インストール時に70.1から72.1へアップグレードされます。インストール後は70.1が消えています。
% brew list icu4c --versions
icu4c 72.1
この時点でicu4c 72.1
のパッケージが反映されているため、brew linkの実行は不要です。
PHP7.4の設定を削除
PHP7.4のパッケージをbrew unlink
します。
% brew unlink php@7.4
Unlinking /opt/homebrew/Cellar/php@7.4/7.4.30... ==> Downloading https://formulae.brew.sh/api/formula.jws.json
25 symlinks removed.
ログインシェルの設定ファイルからexportを削除します。
export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"
export PATH="/opt/homebrew/opt/php@7.4/sbin:$PATH"
設定が削除されたため、この時点でphpコマンドが利用できなくなります。
% php -v
zsh: command not found: php
PHP8.2を反映
PHPのパッケージにPHP8.2が反映されている想定です。
brew upgradeの実行後など、PHPのパッケージが最新の状態であればPHP8.2がインストールされていると思います。(2023年3月現在)
PHPのパッケージをbrew link
で反映します。
% brew link php
Linking /opt/homebrew/Cellar/php/8.2.3... 24 symlinks created.
これでPHP8.2が使えるようになりました!
% php -v
PHP 8.2.3 (cli) (built: Mar 12 2023 12:08:11) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.3, Copyright (c) Zend Technologies
今度は逆にPHP7.4が使えなくなりますが...
PHPは複数のバージョンで確認したいケースもあるので、簡単にバージョンを切り替える方法を模索したいです。
phpbrew
やphpenv
が気になります。
採用PR
弊社で一緒に働く仲間を募集しています。
Devトークやってます。お気軽にご応募ください(^^)
募集要項はこちらをご覧ください!