2025年8月10日日曜日

macの環境構築を初めからやってみるよ:anyenvとphpenv

 Macbook Airを買った。13インチのm4モデルだ。

これまでは2016年のintel Macbook Proだったので 実に約9年ぶりである。さらにその前はたしかPowerBook G4、もっと前はPower Macだった気がするので毎回プロセッサが変わってるということになる(Power Macはさすがに処分した)。

それはそうと、これまでは基本的に旧環境を引き継いでいたんだけどさすがにごちゃごちゃしてきたし、いまやほとんどのデータはクラウドに保存されているので、環境はイチから構築してみることにした。

網羅的ではないが、いくつか環境構築メモを残していこうと思う。

PHPが入ってなかった 

そもそもとしてこのbloggerを自前のWordPressに移行しようと思っているのだけれど、どうやらbloggerのエクスポート形式が最近?RSS XMLからatomに変更されてしまって、インポートができないっぽい。インポートするにはatomからrssへの変換が必要そう。
調べるとここに情報があった:https://atom.geekhood.net/
 
WordPressのdockerイメージと合わせてPHPは8.2.29を入れようと思った
#振り返るとどうやら8.2系以降を入れようとしたことによるエラーも多そうだった 
 
 (続く)
入れたいもの:$ phpenv install 8.2.29 
エラーを一つずつ潰す... 
$ brew install pkgconf
$ brew install openssl
ここでエラー
configure: error: Please reinstall the BZip2 distribution
を解消しようとして、homebrewでbzip2を入れた 
$ brew install bzip2 
が、解消しない 
    export LDFLAGS="-L/opt/homebrew/opt/bzip2/lib"
    export CPPFLAGS="-I/opt/homebrew/opt/bzip2/include" 
を設定したのだが状況が変わらずなので、別の方法
    export PHP_BUILD_CONFIGURE_OPTS="--with-bz2=$(brew --prefix bzip2)" 
を.zshrcに設定して $ source ~/.zshrc で次に進むことができた
 
$ brew install libpng
$ brew install libjpeg-turbo
$ brew install libiconv 
    export PHP_BUILD_CONFIGURE_OPTS="--with-bz2=$(brew --prefix bzip2) --with-iconv=$(brew --prefix libiconv)" 
 
$ brew install icu4c
 
さらにエラー 
-----------------------------------------
configure: error: *** A compiler with support for C++17 language features is required.
-----------------------------------------
こんなものを見つけた 
https://zenn.dev/shogogg/articles/b358c1dec37426785a12 
https://github.com/php-build/php-build/issues/783
...正直詳細はあんまりわからんが
$ export CXXFLAGS="-std=c++17"
を.zshrc に書いて
$ source ~/.zshrc で進んだ
 
$ brew search oniguruma
↑よく知らなかったが正規表現のライブラリらしい
 
次のエラー 
-----------------------------------------
configure: error: Cannot find libtidy
----------------------------------------- 
 $ brew install tidy-html5
こういうパッケージ名を探すのは正解はどうなんだろう 
 
解消しないなーと思ったら先人のブログ 
https://qiita.com/kmuro/items/5eb1b09f333a4a07dfbe 
> 環境変数PHP_BUILD_CONFIGURE_OPTS--with-tidyオプションを指定 
そうだろうと思った。パターンは見えてきた
.zshrc の該当記述はこんな状態に 
export PHP_BUILD_CONFIGURE_OPTS="--with-bz2=$(brew --prefix bzip2) --with-iconv=$(brew --prefix libiconv) --with-tidy=$(brew --prefix tidy-html5)" 
 
$ brew install libzip
 
こんどは以下のようなエラーになった(たしかにjpeg-turboパッケージを入れた)
ld: warning: search path '/opt/homebrew/opt/jpeg/lib' not found
 
phpenv installはエラー終了しているが、インストール自体はできているようだ...どういう状態?
$ phpenv global 8.2.29
$ php -v
PHP 8.2.29 (cli) (built: Aug 11 2025 08:33:04) (NTS)
 
warningは一回無視するとしてこのへんかなあと検討をつける 
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled. 
ググるとブログを見つけた。autoconfとな 
https://zenn.dev/massat/articles/install-php8-with-phpenv 
 
$ brew install autoconf
$ phpenv install 8.2.29
(略) 
[Success]: Built 8.2.29 successfully.
(略)
 
ようやく成功したようだ
 

0 件のコメント:

コメントを投稿