如何升级 Homestead 盒子?

未匹配的标注
本文档最新版为 9.x,旧版本可能放弃维护,推荐阅读最新版!

说明

为了提供实战课程的流畅学习体验,我们使用的是定制版的 Homestead 盒子,预装了一些教程里会使用到的软件,这些软件经常需要更新或者新增,每一次的变跟,都是一个新的盒子,你需要重新下载导入,并重新初始化环境。本文是针对已经使用本文档部署过 Homestead 环境,但是需要升级 Homestead 盒子的用户。如果你有此需求,请跟着我一步步操作。

第一步、备份

接下来的操作,将会完全删除正在使用的 Homestead 虚拟机。如果你按照课程的最佳实践来操作,我们的数据库表结构是通过 Migration 来生成的,数据库里的数据也是使用 Seed 来做假数据填充的,这些都存放在我们的代码中,而代码是通过 Homestead 将主机的文件夹目录映射到虚拟机里的,所以你应该不需要备份什么数据。

然而,如果你的数据库里有数据是你手动填入,或者因为其他原因不想被重置的话,请自行备份数据库。同样的,如果虚拟机里有其他配置,有备份的需要,也请在此时备份。

第二步、删除虚拟机

在主机的命令行,运行以下命令进入 Homestead 管理脚本的目录里:

> cd ~/Homestead

使用以下命令删除虚拟机:

> vagrant destroy

file

第三步、删除旧盒子

旧的虚拟机盒子我们已经不会用到,为了节省硬盘空间,我们将对其进行删除。

使用以下命令查看系统里所有的 Vagrant 盒子列表:

> vagrant box list

我们使用的是 lc/homestead 命名的盒子,因为接下来会导入更新的版本,所以这里可以将其他旧版本删除:

> vagrant box remove lc/homestead

第四步、下载并导入新盒子

请先 —— 下载最新版的 Homestead 虚拟机盒子

下载后的文件为 lc-homestead-6.4.1-2019072300.zip,请对其进行 zip 解压操作,解压成功后可以看到目录 lc-homestead-6.4.1-2019072300,此目录下包含两个文件:

  • virtualbox.box(教程定制化过的 Homestead 盒子)
  • metadata.json(盒子的导入配置文件)

注意:请必须解压到 非中文路径,有同学反馈中文路径会出现不可预知问题。

在解压目录中 lc-homestead-6.4.1-2019072300 运行以下命令导入 Box:

> vagrant box add metadata.json

如下图所示(当前盒子版本 lc-homestead-6.4.1-2019072300):

file

第五步、重新初始化

运行以下命令进入 Homestead 管理脚本的目录里:

> cd ~/Homestead

使用以下命令创建新的虚拟机:

> vagrant up

注:关于以上的命令,我们在第二步已经删除了 ~/Homestead 文件夹里的虚拟机,此时 vagrant up 命令是我们第一次在此文件夹下执行,会触发 创建 虚拟机的操作,虚拟机创建成功后,后续我们再执行 vagrant up 的话,会执行 启动 虚拟机的操作。

总结

更新完毕以后,因虚拟机是完全新建,你还需要重新进入你的项目,执行迁移、数据填充等操作,有数据备份的话,也请重新导入数据,这里就不一一诉说了。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
Summer
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 13
发起讨论 只看当前版本


郝合心
教程逻辑不通?
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
hustnzj
请问此版本相对于 2018061700 发布的版本有哪些区别
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
bing_
是要强迫更新虚拟机吗?
0 个点赞 | 19 个回复 | 分享 | 课程版本 5.8
yanrui
虚拟机盒子下载地址失效?
0 个点赞 | 9 个回复 | 问答 | 课程版本 5.5
晴空
lc-homestead-12.0.0-20220219.zip 无法下载
0 个点赞 | 6 个回复 | 问答 | 课程版本 9.x
wanghan
社区里的定制 Homestead 可以修改软件源吗?
0 个点赞 | 3 个回复 | 问答 | 课程版本 6.x
vasar
按此教程 安装之后 提示找不到 box?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
bing_
我们一路学习,作者一路更新
0 个点赞 | 1 个回复 | 分享 | 课程版本 5.8
1003356845
win10 下 homestead 总是会间隔个把小时会断线重连
0 个点赞 | 0 个回复 | 问答 | 课程版本 8.x
Noctis
Homestead 升级后是否虚拟硬盘会初始化?
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.8
qinplain
Laravel 开发环境部署
0 个点赞 | 0 个回复 | 分享 | 课程版本 5.5
mamahaha
请教一下在哪里自定义虚拟机盒子
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.5