我已经与 Homestead 合作了一段时间。几天前,我删除了 ubuntu,因为它有几个不稳定的问题,我改用 mint 并承诺会更稳定一点,我得到了这个错误......认为我的发行版有问题,我回到Ubuntu 伴侣。但事实证明错误仍然存在
我看到有人在 es.stack 上提出了类似的问题,但他们并没有深入研究。所以我决定打开这个。
我找到了几种解决方案,例如输入 vagrant gui(我可以这样做)并更改端口和其他一些设置而没有结果
他们建议最多的是将 VagrantFile 中的“config.vm.boot_timeout”的值更改为 600。但事实是,我的 vagrantfile 与他们建议的不一样,并且没有出现此变量。所以我不知道如何添加它:
# -*- mode: ruby -*-
# vi: set ft=ruby :
require 'json'
require 'yaml'
VAGRANTFILE_API_VERSION ||= "2"
confDir = $confDir ||= File.expand_path("~/.homestead")
homesteadYamlPath = confDir + "/Homestead.yaml"
homesteadJsonPath = confDir + "/Homestead.json"
afterScriptPath = confDir + "/after.sh"
aliasesPath = confDir + "/aliases"
require File.expand_path(File.dirname(__FILE__) + '/scripts/homestead.rb')
Vagrant.require_version '>= 1.8.4'
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
if File.exist? aliasesPath then
config.vm.provision "file", source: aliasesPath, destination: "~/.bash_aliases"
end
if File.exist? homesteadYamlPath then
settings = YAML::load(File.read(homesteadYamlPath))
elsif File.exist? homesteadJsonPath then
settings = JSON.parse(File.read(homesteadJsonPath))
end
Homestead.configure(config, settings)
if File.exist? afterScriptPath then
config.vm.provision "shell", path: afterScriptPath, privileged: false
end
if defined? VagrantPlugins::HostsUpdater
config.hostsupdater.aliases = settings['sites'].map { |site| site['map'] }
end
end
尝试摧毁它,重建它,什么都没有。我想尝试旧版本的 vagrant。我不记得我以前吃过哪一个。
流浪者版本:1.8.7 vbox 版本:5.0.24
有什么解决办法吗?
Vagrantfile 只不过是一个 Ruby 文件,Vagrant 在加载配置结束时所做的就是将它们全部混合(来自虚拟机的那些以及它的覆盖,比如来自 Homestead 的这个)。
在这种情况下,您可以将配置行放在条件或类似文件之外的任何位置,可能在包含 Homestead 配置脚本之前(它只是另一个 Ruby 文件)。
如果您使用 Vagrant 1.8.7,您似乎应该使用 Virtualbox 5.1+,它适用于 Vagrant 1.8.4+
如果您使用的 Vagrant 版本低于 1.8.4,则需要使用 Virtualbox 5.0.x