我试图在我的iMac(Big Sur 11.7.6)上运行 composer 更新,但它失败了。以前我使用的是MacOs自带的内置PHP版本,但现在我需要更新。我已经安装了一个新的PHP版本使用Xammp和改变了路径,这是工作正常。问题是,我认为composer之前试图使用旧的php版本(它可以工作),但现在对新版本不满意。
用户@my-iMac csmwg % php -v
PHP 8.1.4(cli)(构建:Mar 17 2022 03:15:01)(NTS)Copyright(c)The PHP Group Zend Engine v4.1.4,Copyright(c)Zend Technologies with Xdebug v3.1.4,Copyright(c)2002-2022,by Derick Rethans
user@my-iMac csmwg % which php
php:别名为/Applications/xampp/xamppfiles/bin/php-8.1.4
user@my-iMac csmwg % composer更新
dyld:库未加载:/usr/local/opt/libunistring/lib/libunistring.2.dylib引用自:/usr/local/opt/libidn 2/lib/libidn2.0.dylib原因:图片未找到zsh:中止合成器更新
旧的内置PHP版本位于/usr/bin中:user@my-iMac bin % /usr/bin/php -v
警告:不推荐使用PHP PHP在macOS中包含PHP是为了兼容旧版软件。macOS的未来版本将不包含PHP。PHP 7.3.29-to-be-removed-in-future-macOS(cli)(构建:Aug 29 2022 08:54:14)(NTS)Copyright(c)1997-2018 PHP Group Zend Engine v3.3.29,Copyright(c)1998-2018 Zend Technologies
我已经搜索了iMac(使用Finder),寻找它似乎想要的libunistring.2.dylib文件,但我在任何地方都找不到它。但是有一个libunistring.5.dylib
我使用的是zsh shell。.zshrc文件只包含一行:
别名php="/Applications/xampp/xamppfiles/bin/php-8.1.4”
我正在使用PHP的Laravel和运行e.g.'php artisan serve'工作正常。
任何帮助非常感谢。
1条答案
按热度按时间w6lpcovy1#
我找到了一个答案,虽然可能不是最好的。在对文件系统进行了一番挖掘之后,我找到了composer正在查找的libunistring.2.dylib文件,并将其复制到了它正在查找的目录中。
这还没有真正找到问题的根源,但至少它起作用了。