无法通过vagrant box update升级Homestead,无法获取PHP7和Ubuntu16环境
故障原因及解决办法
从你给出的vagrant box update输出里,关键问题出在这一行:
default: Version constraints: < 0.4.0
这说明你的Homestead配置里设置了版本范围限制,要求只能使用低于0.4.0的box版本。而支持PHP7和Ubuntu16的Homestead版本(比如0.4.0及以上)刚好在这个约束范围之外,所以vagrant box update只会检查0.3.x系列的最新版,自然不会升级到你想要的目标版本。
具体解决步骤
第一步:修改版本约束配置
找到你本地Homestead目录下的Vagrantfile文件,打开后定位到类似这样的配置行:config.vm.box_version = "< 0.4.0"把它改成符合需求的版本范围,比如想要升级到支持PHP7和Ubuntu16的版本,可以改成:
config.vm.box_version = ">= 0.4.0"也可以直接指定具体版本号(比如确认过的兼容版本),例如:
config.vm.box_version = "0.4.0"第二步:重新执行更新命令
保存修改后的Vagrantfile,再次运行更新命令:vagrant box update这时Vagrant就会拉取符合新约束的目标版本了。
可选:修复更新后的启动问题
如果更新后虚拟机启动异常,可以先销毁旧虚拟机(记得提前备份重要数据),再重新初始化:vagrant destroy vagrant up
内容的提问来源于stack exchange,提问作者Sharon Chai




