需要一个Vagrant环境或目标机器。

19

我正在尝试设置Homestead。我尝试添加新的自定义域名,但我忘记了必须运行命令vagrant provision,然后我遇到了错误,所以我决定卸载Vagrant VirtualBox并从头开始,但我真的把事情搞砸了。

现在我已经安装了VirtualBox和Vagrant。我克隆了homestead的存储库放在我的主目录下。我填写了Homestead.yaml文件,但当我使用vagrant up时出现了以下错误:

需要Vagrant环境或目标机器才能运行此命令。运行vagrant init创建一个新的Vagrant环境。或者从vagrant global-status获取目标机器的ID以运行此命令。最后一种选择是更改到具有Vagrantfile的目录并重试。 我也尝试通过composer来请求homestead,但我仍然得到同样的错误。

当我尝试运行vagrant init时,会创建一个新的box,但当我启动vagrant up时,我不在homestead box中,而是在最后创建的那个box中。

我真的很困惑,不知道我错过了什么。任何帮助将不胜感激。

编辑。

当我尝试使用homestead up时,虚拟机正在运行,我可以通过ssh连接,但是当我键入自定义域名时,显示“未指定输入文件”错误。

更新:

在~/.homestead目录中,我执行了vagrant init laravel/homestead,现在我可以启动该机器并通过ssh连接,但我无法访问已注册的自定义域 - 页面不可用。

更新2:

我刚刚检查了homestead服务器,我的Code文件夹为空。在Homestead.yaml文件中,我有以下文件夹: - map: ~/Code to: /home/vagrant/Code

我所有的项目都在本地文件夹中,但我不知道为什么它们不在vagrant中。

5个回答

60

99%的情况下,您可能进入了错误的目录。请确保该目录包含Vagrantfile文件。


3
也许你也选择了错误的行业! :) 我就遇到了这种情况。 - Sliq
1
该死!这种事情发生在我身上,我困惑了大约30分钟。我差点就要删除虚拟机了。 - Ravish Rawat
@RavishRawat 我也花了很长时间才弄清楚那个问题 :) - S1awek

7

您可以运行vagrant global-status命令,查看是否已经有一个Vagrant服务器正在运行。然后,您可以使用vagrant up [server-id]命令进入已存在的服务器。


我已经尝试过了,但是我又遇到了缺少Vagrantfile的错误。 - Радослав Ангелов

2

正如之前有人所说,您可能在错误的目录中。实际上,进入包含“Vagrantfile”的正确目录就解决了我的问题。


2

在尝试其他操作之前,请确保你处于正确的目录中。也就是说,vagrantfile必须存在于该目录中。我能够通过以下步骤来解决问题:

  1. 在我的情况下,已经有一台vagrant服务器正在运行。使用vagrant global-status可以帮助我查看它。
  2. 然后我使用vagrant up [server-id]来进入现有的服务器。

我尝试了所有方法,最终发现我没有在正确的目录中。 - Ravish Rawat

1
当我尝试使用Homestead时,虚拟机正在运行,我可以通过ssh连接,但是当我输入自定义域名时,会出现“未指定输入文件”的错误。您是否已将自定义域添加到Homestead.yaml文件的sites部分并运行了“vagrant provision”命令?

是的,这就是原因,但当我添加它们时,出现了502错误网关。 - Радослав Ангелов
日志显示了什么? - Frederic Henri
当我运行 vagrant provision 时,什么也没有发生,我不确定终端中是否应该有任何答案。 - Радослав Ангелов
我在哪里可以查看日志? - Радослав Ангелов
文件是空的。我不确定注册的自定义域是否指向服务器。但是我已经在/etc/hosts文件和Homestead.yaml中注册了该域名。 - Радослав Ангелов

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