[英]How to solve A facade root has not been set. In Facade.php line 236: Laravel 5.8?
[英]Laravel 5.8: A facade root has not been set after homestead restart
所以我试图进入 Laravel,这是我第一次使用 Vagrant,所以这是我的问题:
我已经完成了Laravel Homestead 介绍并设置了我的开发框,一切似乎都在工作,我确实看到了 Laravel 默认应用程序。当我使用vagrant halt
停止本地 vagrant 并尝试再次启动它的那一天结束时像以前一样使用vagrant up
然后我收到了
“(!)致命错误:未捕获的运行时异常:尚未设置外观根。在第 234 行的 /home/vagrant/code/laravel/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php 中”
尝试访问我的 Laravel 应用时的消息。 由于这也发生在一个全新的项目中,我假设我错过了一些非常基本的东西,谁能告诉我如何处理 Vagrant 以便在重新启动虚拟机后我仍然可以访问我的项目?
除了最初通过 Composer 创建 Laravel 应用程序之外,我没有编写任何代码,错误不会弹出,因为我正在尝试使用某些东西并且做错了。 我正在使用新应用程序的默认状态,它会弹出。
遇到这个问题是因为通过 vagrant 安装的默认laravel/homestead
box 设置为v8.0.0-alpha2
,这似乎很laravel/homestead
。 您将需要重新安装盒子并删除当前的盒子。
参考: https : //github.com/laravel/homestead/issues/1178
cd ~/Homestead
vagrant destroy
vagrant box remove laravel/homestead --box-version=8.0.0-alpha2
vagrant box add laravel/homestead --box-version=7.2.1
vagrant up
与@Cody Moorhouse 对我的回答相同
但在我的情况下,直到我这样做才起作用:
在运行该框之前,我将 version:7.2.1 添加到 homstead.ymal
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
version: 7.2.1
authorize: ~/.ssh/id_rsa.pub
我编辑了 compser.json 并添加了
"extra_data":{
"box":{
"name":"laravel/homestead",
"provider":"virtualbox",
"version":"dev-release"
}
},
强制 vagrant 使用 7.2.1 版本
然后在 homestead dirctory 我午餐了 compsoer update
之后那流浪汉工作就完美了。
将 VirtualBox 从 v5 升级到 v6 为我解决了这个问题。 我在 OSX 10.15 Catalina 上。
升级 VirtualBox 后,我不必调整 Homestead Box 的版本。
建议升级作为此 github 问题的修复程序: https : //github.com/laravel/homestead/issues/1178
Homestead 会定期发布“alpha”/“beta”框进行测试,这可能会干扰您在 homestead 设置期间运行的 vagrant box add 命令。 如果您遇到问题,您可以运行 vagrant up 命令,当 Vagrant 尝试启动虚拟机时,将下载正确的框。
所以跳过步骤vagrant box add laravel/homestead
尝试执行以下操作:
vagrant destroy
vagrant up
Vagrant 会为你下载并选择正确的 laravel/homestead 版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.