解决 macOS 上 php8.3 安装 yaml 扩展找不到 libyaml 库的问题
刚用 AI 写了个处理 YAML 的小工具,因为是 php 写的,直接用了 yaml 扩展。
一运行发现我本地的 php8.3 还没安装 yaml 扩展,虽然可以改成使用第三方包,但觉得还是安装一下试试。
执行 pecl install yaml
,提示找不到 libyaml
包。
checking for yaml headers... not found
configure: error: Please install libyaml
ERROR: `/private/tmp/pear/temp/yaml/configure --with-php-config=/opt/homebrew/opt/php/bin/php-config --with-yaml' failed
于是赶紧用 brew install libyaml
安装了一下,重新执行 pecl install yaml
,还是报错。
看来是找不到 libyaml,但我明明已经安装成功了。
搜了一圈,找到了一个设置环境变量的办法,但实测并没有作用。
最后发现 stackoverflow 上有个办法,稍微修改了一下发现可以解决:
echo $(brew --prefix libyaml) | pecl install yaml
实测安装成功,有图为证:
单独测试了一下 brew --prefix libyaml
,发现输出的是 libyaml 的路径,看来是直接把这个路径传递给 pecl 了。
$ brew --prefix libyaml
/opt/homebrew/opt/libyaml