Laravel Homestead:虚拟机未创建...继续进行

10

我全局安装了Laravel Homestead,编辑了~/.homestead/Homestead.yaml文件,并使用homestead up启动了虚拟机。一切都运行良好,但是后来我需要添加另一个站点。我编辑了Homestead.yaml以包含新项目,然后尝试运行homestead provision将更改应用到虚拟机上。唯一输出的内容是:

==> default: VM not created. Moving on...

我理解为虚拟机未运行,但实际上是运行的。这里唯一有效的操作是使用"homestead destroy"和"homestead up"命令,但这会销毁虚拟机的已保存状态。我认为vagrant命令也适用于homestead,但是"vagrant suspend && vagrant up --provision"并没有起到帮助作用。
那么,如何将新配置应用于已存在的homestead虚拟机呢?
4个回答

20

我在Laracasts上找到了答案。直接复制如下:

尝试这样做...你应该能看到一个列出与你的composer/vendor相关联的vagrant box...

vagrant global-status

示例输出:

$ vagrant  global-status
id       name    provider   state   directory
-----------------------------------------------------------------------------------------------------
1ace413  default virtualbox running (...)/laravel/homestead

然后继续运行:

vagrant provision {ID}

示例输入:

vagrant provision 1ace413

ID是上一步Vagrant实例的编号。

那么你现在应该已经准备好了!


这个回答以及其他回答都没有解释为什么“homestead provision”对于OP不起作用,也没有提供任何解决方案。 - trysis
1
  1. 我是 OP。
  2. 问题不在于为什么它没有工作:“那么,如何将我的新配置应用于已存在的 Homestead VM?”所以,是的,这完美地回答了这个问题。
- rdiz
哇,我没有意识到,我道歉。我的意思是你没有说如何解决你的homestead provision问题,但是重新阅读问题并且比昨天更了解后,我发现你有点说了。 - trysis

12

我最近将我的笔记本电脑从32位更换为64位,必须重新安装和设置我的Homestead。

设置完毕后,我运行以下命令:

vagrant reload --provision

我收到了同样的反馈,那就是

==> default: VM not created. Moving on...

之后我尝试了这个命令,一切都正常工作。

vagrant up

我认为初次运行Homestead时不需要重新加载--provision。


vagrant up 对我有效,谢谢! - dalei19

0
您可以运行vagrant provision来更新Homestead网站。但是,您必须找到Homestead虚拟机的Vagrantfile所在位置。如果您进行了全局安装,则应该在.composer/vendor/laravel/homestead/目录中。您需要进入该目录。
cd ~/.composer/vendor/laravel/homestead

然后你需要配置虚拟机

vagrant provision

你的Homestead框应该反映在Homestead.yml文件中的更改。

编辑:我现在不在我的Mac上,所以目录路径是我记得上次提供我的框时的猜测,请考虑这一点,但我非常确定该路径应该是正确的。


感谢您的回答。不过事实上,我已经尝试过了。完全相同的输出 :-/ - rdiz

0

我正在运行我的虚拟机,所以我必须先退出。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接