繁体   English   中英

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM