以前偶尔使用 laravel 5.1 LTS 写写代码,所以也就没有关心过是否需要升级 laravel/homestead 的问题,前不久 laravel 5.5 LTS 发布了想借学习 laravel 5.5 的机会升级一下 homestead。
升级前每次执行 vagrant up 命令启动 homestead 时总是有以下提示信息
一开始想偷懒就使用推荐的 vagrant box update 命令来在线升级,但是下载极其缓慢最终已失败告终,如下图
看样子只能先下载升级包后再离线升级了。
升级步骤及注意事项
第一步:本机命令行运行 vagrant box update 命令获取升级包完整 URL
上图最后一行显示的就是升级包的完整 URL,也可以点击以下 URl 直接现在最新的 4.0.0 版本
https://vagrantcloud.com/lara...
注意:今后如果有新版本发布时,只需要修改上面那个 URL 中的版本号(现在是 4.0.0)即可下载对应版本的升级包了,不需要每次都使用 vagrant box update 命令来获取 URL。
第二步:ctrl + z 退出在线升级
复制升级包完整 URL,然后通过浏览器或者其它下载工具将升级包下载到本地
注意:有可能下载后得到的文件名并不是 virtualbox.box 可以手工修改文件名
第三步:在下载升级包的同时在本地手工创建一个 metadata.json 的文件,内容如下:
{
"name": "laravel/homestead",
"versions": [{
"version": "4.0.0",
"providers": [{
"name": "virtualbox",
"url": "下载的 virtualbox.box 文件所在的本地完整路径(包含文件名)"
}]
}]
}
在这个 json 文件中注意两点:
- version 处要修改成下载的最新版的版本号;
- url 处要使填写下载的升级包所在本地的完整路径(包含文件名);
第四步:当升级包下载完成后,在本地命令行中执行以下命令:
vagrant box add metadata.json文件所在的完整路径
第五步:当命令行出现以下信息时表明升级成功
第六步:查看当前使用的 laravel/homestead 版本(此步骤可选)
vagrant box list
如果输入以上命令后出现 laravel/homestead(virtualbox, 4.0.0) 字样表明升级成功。