离线升级 Laravel Homestead 4.0.0

以前偶尔使用 laravel 5.1 LTS 写写代码,所以也就没有关心过是否需要升级 laravel/homestead 的问题,前不久 laravel 5.5 LTS 发布了想借学习 laravel 5.5 的机会升级一下 homestead。

升级前每次执行 vagrant up 命令启动 homestead 时总是有以下提示信息

离线升级 Laravel Homestead 4.0.0

一开始想偷懒就使用推荐的 vagrant box update 命令来在线升级,但是下载极其缓慢最终已失败告终,如下图

离线升级 Laravel Homestead 4.0.0

看样子只能先下载升级包后再离线升级了。

升级步骤及注意事项

第一步:本机命令行运行 vagrant box update 命令获取升级包完整 URL

离线升级 Laravel Homestead 4.0.0

上图最后一行显示的就是升级包的完整 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 文件中注意两点:

  1. version 处要修改成下载的最新版的版本号;
  2. url 处要使填写下载的升级包所在本地的完整路径(包含文件名);

第四步:当升级包下载完成后,在本地命令行中执行以下命令:

vagrant box add metadata.json文件所在的完整路径

第五步:当命令行出现以下信息时表明升级成功

离线升级 Laravel Homestead 4.0.0

第六步:查看当前使用的 laravel/homestead 版本(此步骤可选)

vagrant box list

如果输入以上命令后出现 laravel/homestead(virtualbox, 4.0.0) 字样表明升级成功。

相关推荐