最近はmac内に環境を作るよりもdockerで個々に環境を用意するほうが多いので、最低限のphpやpythonが入っていれば事足りるようになりました。
その場合は、homebrew で php等をインストールするほうが早いですね。
それ以外のケースでは以下を利用するといいかもです。
新しいmacに変わり、OSもventura、CPUをintelからapple siliconへ・・・仕様やパスなども諸々変わったためバックアップからリカバリーせずに、PCをゼロから再セットアップしました。
その際、php周りのインストールでこれまでと色々違いが出てきましたので、メモを残しておきます。
homebrewのインストール
まんまこの通りです。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
インストール後、zprofileなどで以下のパスを通すこと。
eval "$(/opt/homebrew/bin/brew shellenv)"
anyenvをインストール
brew install anyenv
anyenv install --init
でインストールを行った後、こちらもzprofileに以下を記載。
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
phpenvのインストール
anyenv install phpenv
でphpenvがインストール。
phpenv install -l
でいつも通り、利用可能なphpの一覧が表示されます。
php 8.0.29のインストール
まずは必要なライブラリをインストール
brew install curl autoconf bzip2 icu4c krb5 libedit libiconv libjpeg libpng libxml2 libzip oniguruma openssl@1.1 pkg-config tidy-html5 re2c
次にphpをインストール(ライブラリのパス指定が大変。。)
PKG_CONFIG_PATH="/opt/homebrew/opt/krb5/lib/pkgconfig:/opt/homebrew/opt/icu4c/lib/pkgconfig:/opt/homebrew/opt/libedit/lib/pkgconfig:/opt/homebrew/opt/libjpeg/lib/pkgconfig:/opt/homebrew/opt/libpng/lib/pkgconfig:/opt/homebrew/opt/libxml2/lib/pkgconfig:/opt/homebrew/opt/libzip/lib/pkgconfig:/opt/homebrew/opt/oniguruma/lib/pkgconfig:/opt/homebrew/opt/openssl@1.1/lib/pkgconfig:/opt/homebrew/opt/tidy-html5/lib/pkgconfig" PHP_RPATHS="/opt/homebrew/opt/bzip2/lib /opt/homebrew/opt/curl/lib /opt/homebrew/opt/libiconv/lib /opt/homebrew/opt/libedit/lib" PHP_BUILD_CONFIGURE_OPTS="--with-bz2=$(brew --prefix bzip2) --with-iconv=$(brew --prefix libiconv) --with-external-pcre=$(brew --prefix pcre2) --with-tidy=$(brew --prefix tidy-html5) --with-pear" phpenv install 8.0.29
あと、m1以降のAppleシリコンでpearライブラリを組み込むと、JIT未対応のために以下のエラーが出ていました。
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
次の指定でJITを使わないpearライブラリを指定し、エラーを回避してあります。
--with-external-pcre=$(brew --prefix pcre2)
インストール後は
phpenv global 8.0.29
などでphpをセットします。
grepでエラーが出た場合
grep: invalid option -- 'p'
このエラーが出た場合は、brew版のgrepが必要でした。
brew install grep
でインストールを行い、zprofileに以下を記載。
export PATH="/opt/homebrew/opt/grep/libexec/gnubin:$PATH"
これで既存のgrepを置き換えて利用できます。