运行valet install触发TypeError错误,参数$loopback为null求助
解决Valet 4.0.0安装时的TypeError错误
问题重现
执行valet install时触发致命错误:
Fatal error: Uncaught TypeError: Valet\Site::aliasLoopback(): Argument #2 ($loopback) must be of type string, null given, called in /Users/bonds/.composer/vendor/laravel/valet/cli/Valet/Nginx.php on line 108 and defined in /Users/bonds/.composer/vendor/laravel/valet/cli/Valet/Site.php:831
环境:PHP 8.2.4,Valet 4.0.0
解决方案
检查并修复Valet配置文件
打开Valet配置文件~/.config/valet/config.json,确认是否存在loopback字段,且值为字符串类型(比如"127.0.0.1"或"localhost")。如果缺失,添加以下内容到配置文件中:"loopback": "127.0.0.1"保存后重新执行
valet install。重置Valet配置
执行以下命令重置Valet的配置文件为默认状态:valet reset重置完成后再次运行
valet install。临时代码修复(不推荐长期使用)
找到/Users/bonds/.composer/vendor/laravel/valet/cli/Valet/Site.php文件的第831行,修改aliasLoopback方法的参数,给$loopback设置默认值:public static function aliasLoopback($site, string $loopback = '127.0.0.1')修改后保存,再执行
valet install。此方法为临时 workaround,建议后续通过更新Valet或修复配置彻底解决。重新安装最新版Valet
先更新Composer全局依赖,再重新安装Valet:composer global update laravel/valet valet install
内容的提问来源于stack exchange,提问作者Michael Bonds
相关产品推荐
相关产品推荐

