laravel - Vagrant 卡住了

标签 laravel vagrant homestead

我正在运行vagrant up,但我遇到了一个问题,一开始似乎就是这个问题Vagrant stuck connection timeout retrying 。我已经尝试了其中的所有解决方案,我还执行了 vagrant destroy,但是一旦我执行 vagrant suspend,然后 vagrant up > 命令不起作用,我必须退出并执行 vagrant reload 才能使虚拟机正常工作。这非常烦人且令人沮丧。

我目前使用的是 vagrant homestead 版本 0.4.4,这个问题的一部分是,一旦虚拟机启动,一切都会正常工作。

我当前的系统是 OSX El Captain。

如果您需要更多详细信息,请告诉我。

我的Vagrantfile:

require 'json'
require 'yaml'

VAGRANTFILE_API_VERSION ||= "2"
confDir = $confDir ||= File.expand_path("vendor/laravel/homestead", File.dirname(__FILE__))

homesteadYamlPath = "Homestead.yaml"
homesteadJsonPath = "Homestead.json"
afterScriptPath = "after.sh"
aliasesPath = "aliases"

require File.expand_path(confDir + '/scripts/homestead.rb')

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    if File.exists? aliasesPath then
        config.vm.provision "file", source: aliasesPath, destination: "~/.bash_aliases"
    end

    if File.exists? homesteadYamlPath then
        Homestead.configure(config, YAML::load(File.read(homesteadYamlPath)))
    elsif File.exists? homesteadJsonPath then
        Homestead.configure(config, JSON.parse(File.read(homesteadJsonPath)))
    end

    if File.exists? afterScriptPath then
        config.vm.provision "shell", path: afterScriptPath
    end
end

错误时命令向上输出:

~/Projects/credentialsApi (feature/10)$vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'laravel/homestead' is up to date...
==> default: A newer version of the box 'laravel/homestead' is available! You currently
==> default: have version '0.4.4'. The latest is version '0.5.0'. Run
==> default: `vagrant box update` to update.
==> default: Resuming suspended VM...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.
~/Projects/credentialsApi (feature/10)$

vagrant ssh-config命令输出:

~/Projects/credentialsApi (development)$vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2204
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile "/Users/pabloleone/Projects/credentialsApi/.vagrant/machines/default/virtualbox/private_key"
  IdentitiesOnly yes
  LogLevel FATAL
  ForwardAgent yes

最佳答案

我终于解决了这个问题。这是由于版本的原因。我刚刚升级了 vagrant 和 VM。

关于laravel - Vagrant 卡住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38702010/

相关文章:

php - 如何在 Laravel 的数字字符串列上运行 where 子句?

php - 如何在 Laravel 5 中使用 AJAX 发送数据?

php - 如何在 Laravel 中急切加载,同时查找特定条目

postgresql - 在 postgres 中创建 super 用户

laravel-5 - 如何阻止 vagrant homestead 删除我的 mysql 数据库?

php - Laravel:如何模拟依赖注入(inject)类方法

bash - 使用 sed 命令在文件中添加带反斜杠的字符串

windows - Vagrant up 命令给出在 %PATH% 错误中找不到的可执行文件

mysql - 在 Homestead 上重置 MySQL 密码

php - Laravel 5.2 - phpunit - 无法修改 header 信息 - header 已发送