Mar*_*tin 3 php decimal pecl apple-m1
我尝试decimal使用安装 PHP 扩展,pecl因为现有项目需要它。在我的新 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
Run Code Online (Sandbox Code Playgroud)
在网上研究后,我发现这些线程描述了类似的问题:
由于这两个线程都没有包含我需要做什么来解决问题的紧凑解释,因此我决定尝试在这里进行总结。
当pecl尝试安装decimal扩展时,libmpdec在默认库路径中找不到该库。/usr/local/lib/当 Homebrew 将其安装在 中时,安装程序会尝试在 中查找该库/opt/homebrew/lib/。为了帮助安装程序加快速度,请为库组件和两个头文件创建符号链接:
sudo mkdir /usr/local/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
Run Code Online (Sandbox Code Playgroud)
创建符号链接后,尝试再次安装decimal扩展:
pecl install decimal
Run Code Online (Sandbox Code Playgroud)
安装现在应该可以按预期进行。