Vagrant无法使用所请求的机器,因为它已被锁定

时间:2016-04-16 17:53:50

标签: laravel vagrant virtual-machine homestead

我试图访问我在宅基地上设置的项目网站,他们以前工作得很好,我已经几天没有工作了,但今天我试图访问它们我无法打开这些网站。我试图运行vagrant ssh,但是我收到了这个错误:

  VM must be running to open SSH connection. Run `vagrant up`
  to start the virtual machine.

当我尝试做流浪汉时,我得到:

  Vagrant can't use the requested machine because it is locked! This
  means that another Vagrant process is currently reading or modifying
  the machine. Please wait for that Vagrant process to end and try
  again. Details about the machine are shown below:

  Name: default
  Provider: virtualbox

当我这样做时:

 vagrant status 'idOfTheMachine'

我明白了:

vagrant status 'idOfTheMachine'
/Users/myName/Homestead/Vagrantfile:4: warning: already initialized constant VAGRANTFILE_API_VERSION
/Users/myName/Homestead/Vagrantfile:4: warning: previous definition of VAGRANTFILE_API_VERSION was here
Current machine states:

default                   poweroff (virtualbox)

The VM is powered off. To restart the VM, simply run `vagrant up`

当我打开虚拟机并尝试查看共享文件夹时,我可以看到终端中的共享文件夹,但不能查看其中的项目。我已经搜索过这个问题,但无法找到解决方法。我应该销毁虚拟盒子上的家用机器并制作一个新机器,如果是的话,如何正确地做到这一点,以便我在新机器上有相同的项目?

4 个答案:

答案 0 :(得分:14)

我也有这个问题,虽然我不明白它是如何发生的,但我确实发现它正在运行

vagrant reload {boxid}

通常会打开盒子并允许我连接它。

你可能很喜欢我和“流浪汉停止'当你完成编码以释放资源并希望能够毫不费力地将其变回“流浪汉”时,你的盒子就会出现,但似乎并非如此。希望这会让你重新站起来,而其他知道发生了什么的人可以解释为什么会发生这种情况。

答案 1 :(得分:7)

这个问题只丢了一个小时。我的最终解决方案:

  1. 从Virtualbox删除计算机
  2. 删除包含Vagrantfile
  3. 的目录中的.vagrant文件夹(如果存在)
  4. 如果您仍然收到错误(正如我所做的那样),请运行vagrant global-status以检查是否有任何尚未识别的计算机
  5. 如果仍然列出了本机,请运行vagrant global-status --prune将其删除
  6. vagrant up应该再次工作

答案 2 :(得分:1)

在MacOSX上,我去了Activity Monitor,刚刚杀死了正在运行的流浪过程。这解决了我。

答案 3 :(得分:1)

在Windows上,我杀死了Ruby进程,然后能够成功运行“无用停止”,然后“无用启动”。