M1 Mac(2021)でanyenv/phpenvの初期設定!

  • このエントリーをはてなブックマークに追加
  • Pocket

こんにちは。タクマ™ [@suwaru_blog] です。

Macbook Pro 2021 が届いたので PHP 環境を構築しようと anyenvphpenv の初期設定をしたのですが、これが非常に難しかった…!ので備忘録を残しておきます!

M1 Mac確認環境

  • Macbook Pro 2021
    • Apple M1 Pro チップ
  • MacOS Monterey 12.0
  • Homebrew 3.3.2
    • 最近の Homebrew って /usr/local/ じゃなくて /opt/homebrew 配下にパッケージインストールされるっぽい

anyenv

anyenvphpenvnodenv などの **env 系ツールを一元管理してくれるものです!

anyenv をインストールする

# Mac でのインストール
brew install anyenv
echo 'eval "$(anyenv init -)"' >> ~/.zshrc
exec $SHELL -l

# anyenv コマンドを使う
anyenv init
anyenv install --init

# プラグイン追加
mkdir -p $(anyenv root)/plugins
git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
git clone https://github.com/znz/anyenv-git.git $(anyenv root)/plugins/anyenv-git

# インストール可能なリストを更新する
anyenv update

phpenv

phpenv をインストールする

PHP インストールするには、なんとこんなにもパッケージが必要です…

  • autoconf
  • bison
  • bzip2
  • curl
  • gcc
  • icu4c
  • krb5
  • libedit
  • libiconv
  • libjpeg
  • libpng
  • libxml2
  • libzip
  • oniguruma
  • openssl@1.1
  • pkg-config
  • re2c
  • tidy-html5
  • zlib
# phpenv と phpbuild がインストールされる
anyenv install phpenv

# リフレッシュ
exec $SHELL -l

# 必要なパッケージ
xcode-select --install
brew install curl autoconf bzip2 icu4c krb5 libedit libiconv libjpeg libpng libxml2 libzip oniguruma openssl@1.1 pkg-config tidy-html5 gcc re2c bison openssl zlib

環境変数を設定する

よく phpenv install コマンドの前に長ったらしい環境変数を付けている記事が見ますが、あれを毎回指定するのはしんどいのでちゃんと設定ファイルに定義します。

私は zsh を使っているので ~/.zshenv に以下を定義していますが、人によっては /opt/homebrew/opt/ ではなく /usr/local/opt/ と思うので適宜書き換えてください!

ここはかなり重要でして、設定が漏れているとせっかく brew install してたとしても「Cannot find libtidy」などといったエラーが表示されてしまいます!

PATH

# .zshenv に下記を定義
export PATH="/opt/homebrew/opt/bison/bin:$PATH"
export PATH="/opt/homebrew/opt/libxml2/bin:$PATH"
export PATH="/opt/homebrew/opt/bzip2/bin:$PATH"
export PATH="/opt/homebrew/opt/curl/bin:$PATH"
export PATH="/opt/homebrew/opt/libiconv/bin:$PATH"
export PATH="/opt/homebrew/opt/krb5/bin:$PATH"
export PATH="/opt/homebrew/opt/openssl@1.1/bin:$PATH"
export PATH="/opt/homebrew/opt/icu4c/bin:$PATH"
export PATH="/opt/homebrew/opt/tidy-html5/lib:$PATH"

PKG_CONFIG_PATH

# .zshenv に下記を定義
export PKG_CONFIG_PATH="/opt/homebrew/opt/krb5/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="/opt/homebrew/opt/icu4c/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="/opt/homebrew/opt/libedit/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="/opt/homebrew/opt/libjpeg/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="/opt/homebrew/opt/libpng/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="/opt/homebrew/opt/libxml2/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="/opt/homebrew/opt/libzip/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="/opt/homebrew/opt/oniguruma/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="/opt/homebrew/opt/tidy-html5/lib/pkgconfig:$PKG_CONFIG_PATH"

PHP_RPATHS

# .zshenv に下記を定義
export PHP_RPATHS="/opt/homebrew/opt/zlib/lib /opt/homebrew/opt/bzip2/lib /opt/homebrew/opt/curl/lib /opt/homebrew/opt/libiconv/lib /opt/homebrew/opt/libedit/lib"

PHP_BUILD_CONFIGURE_OPTS

# .zshenv に下記を定義
export PHP_BUILD_CONFIGURE_OPTS="--with-bz2=$(brew --prefix bzip2) --with-iconv=$(brew --prefix libiconv) --with-tidy=$(brew --prefix tidy-html5) --with-external-pcre=$(brew --prefix pcre2) --with-zip --enable-intl --with-pear"

PHP をインストールする

# PHP のバージョンリスト
phpenv install -l

# 欲しい PHP をインストール
phpenv install 7.4.25

# バージョン切り替え
phpenv global 7.4.25

# 更新
phpenv rehash

# バージョン確認
php -v

# インストール場所
which php
/Users/tak/.anyenv/envs/phpenv/shims/php

関連記事

インストールした PHP を Visual Studio Code に設定する方法はこちら!

お仕事ください!

僕が代表を務める 株式会社 EeeeG では Web 制作・システム開発・マーケティング相談を行っています。
なにかお困りごとがあれば、Twitter DM や Web サイトからお気軽にご相談ください。

カテゴリ「Develop」の最新記事

最新記事

コメントを残す

*