You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS多PHP版本切换下Valet依赖libsodium版本不匹配问题

解决Laravel Valet在PHP 7.4下找不到libsodium.23.dylib的问题

方案1:创建软链接兼容旧版本依赖

直接把系统中已有的libsodium.26.dylib链接成Valet需要的libsodium.23.dylib,大多数情况下高版本libsodium向下兼容旧的动态库版本标识:

sudo ln -s /usr/local/opt/libsodium/lib/libsodium.26.dylib /usr/local/opt/libsodium/lib/libsodium.23.dylib

执行完后再尝试运行Valet命令,大概率能解决问题。

方案2:重新编译PHP 7.4,绑定当前libsodium版本

如果软链接无效,需要让PHP 7.4重新编译时链接到当前系统的libsodium:

brew reinstall php@7.4 --with-libsodium=/usr/local/opt/libsodium

注:如果brew提示--with-参数已废弃,改用环境变量指定路径后重装:

export LDFLAGS="-L/usr/local/opt/libsodium/lib"
export CPPFLAGS="-I/usr/local/opt/libsodium/include"
brew reinstall php@7.4

方案3:重置Valet与PHP的关联

切换到PHP 7.4后,重置Valet的安装,让它重新适配当前PHP的依赖:

valet uninstall
valet install

补充说明:libsodium文件名里的.23/.26是动态库的版本标识(soname),和软件本身的版本号(比如1.0.19)不是一回事,不用刻意去安装对应标识的旧版本软件,通过上述方法调整依赖关联即可。

内容的提问来源于stack exchange,提问作者ptmb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 19:46:04