无法在带有 M1 的 macOS 上安装 decimal PHP 扩展 – "Could not find libmpdec"
Cannot install decimal PHP extension on macOS with M1 – "Could not find libmpdec"
我尝试使用 pecl
安装 decimal
PHP 扩展,因为现有项目需要它。在我的新 M1 机器上,出现以下错误:
$ pecl install decimal
[...]
checking for libmpdec library in default path... Could not find libmpdec
configure: error: Please reinstall libmpdec
ERROR: `/private/tmp/pear/temp/decimal/configure --with-php-config=/opt/homebrew/bin/php-config' failed
在线研究后,我发现这些线程描述了类似的问题:
由于这两个线程都没有对我需要做些什么来解决这个问题进行简洁的解释,我决定在这里尝试总结一下。
当 pecl
尝试安装 decimal
扩展时,在默认库路径中找不到 libmpdec
库。安装程序尝试在 /usr/local/lib/
中找到库,而 Homebrew 在 /opt/homebrew/lib/
中安装它。为了帮助安装程序加快速度,为库组件和两个头文件创建符号链接:
sudo ln -s /opt/homebrew/lib/libmpdec++.2.5.1.dylib /usr/local/lib/libmpdec++.2.5.1.dylib
sudo ln -s /opt/homebrew/lib/libmpdec++.3.dylib /usr/local/lib/libmpdec++.3.dylib
sudo ln -s /opt/homebrew/lib/libmpdec++.a /usr/local/lib/libmpdec++.a
sudo ln -s /opt/homebrew/lib/libmpdec++.dylib /usr/local/lib/libmpdec++.dylib
sudo ln -s /opt/homebrew/lib/libmpdec.2.5.1.dylib /usr/local/lib/libmpdec.2.5.1.dylib
sudo ln -s /opt/homebrew/lib/libmpdec.3.dylib /usr/local/lib/libmpdec.3.dylib
sudo ln -s /opt/homebrew/lib/libmpdec.a /usr/local/lib/libmpdec.a
sudo ln -s /opt/homebrew/lib/libmpdec.dylib /usr/local/lib/libmpdec.dylib
sudo ln -s /opt/homebrew/include/decimal.hh /usr/local/include/decimal.hh
sudo ln -s /opt/homebrew/include/mpdecimal.h /usr/local/include/mpdecimal.h
创建符号链接后,再次尝试安装 decimal
扩展:
pecl install decimal
安装现在应该按预期工作。
我尝试使用 pecl
安装 decimal
PHP 扩展,因为现有项目需要它。在我的新 M1 机器上,出现以下错误:
$ pecl install decimal
[...]
checking for libmpdec library in default path... Could not find libmpdec
configure: error: Please reinstall libmpdec
ERROR: `/private/tmp/pear/temp/decimal/configure --with-php-config=/opt/homebrew/bin/php-config' failed
在线研究后,我发现这些线程描述了类似的问题:
由于这两个线程都没有对我需要做些什么来解决这个问题进行简洁的解释,我决定在这里尝试总结一下。
当 pecl
尝试安装 decimal
扩展时,在默认库路径中找不到 libmpdec
库。安装程序尝试在 /usr/local/lib/
中找到库,而 Homebrew 在 /opt/homebrew/lib/
中安装它。为了帮助安装程序加快速度,为库组件和两个头文件创建符号链接:
sudo ln -s /opt/homebrew/lib/libmpdec++.2.5.1.dylib /usr/local/lib/libmpdec++.2.5.1.dylib
sudo ln -s /opt/homebrew/lib/libmpdec++.3.dylib /usr/local/lib/libmpdec++.3.dylib
sudo ln -s /opt/homebrew/lib/libmpdec++.a /usr/local/lib/libmpdec++.a
sudo ln -s /opt/homebrew/lib/libmpdec++.dylib /usr/local/lib/libmpdec++.dylib
sudo ln -s /opt/homebrew/lib/libmpdec.2.5.1.dylib /usr/local/lib/libmpdec.2.5.1.dylib
sudo ln -s /opt/homebrew/lib/libmpdec.3.dylib /usr/local/lib/libmpdec.3.dylib
sudo ln -s /opt/homebrew/lib/libmpdec.a /usr/local/lib/libmpdec.a
sudo ln -s /opt/homebrew/lib/libmpdec.dylib /usr/local/lib/libmpdec.dylib
sudo ln -s /opt/homebrew/include/decimal.hh /usr/local/include/decimal.hh
sudo ln -s /opt/homebrew/include/mpdecimal.h /usr/local/include/mpdecimal.h
创建符号链接后,再次尝试安装 decimal
扩展:
pecl install decimal
安装现在应该按预期工作。