(后端开发)Homestead、Vagrant 的还原和移除 remove destroy laravel

2,199 阅读3分钟

关于我是如何安装配置 Homestead、Vagrant 的请查看 传送门

情况描述:

当我学习时经过几次配置和各种练习时,准备开始上手想开发的新的项目了,这个时候由于先前的各种配置现有的环境已经被修改过很多遍了不纯了,那么我们如何重新将其设置到最初的状态呢,详看下方分解:

1. Vagrant remove

// 首先我们来移除已安装在 vagrant 中的 box(步骤都要在 Homestead 的根目录下执行哦)

// 1. 查看已安装在 vagrant 的 boxes 列表
vagrant box list
// 我的打印出了 lc/homestead (virtualbox, 8.2.1)

// 2. 执行 remove 命令
vagrant box remove lc/homestead
// 执行后会提示是否删除,键入 y 回车即可

// 可以再次执行 vagrant box list 会发现原本的 lc/homestead 就没有了

来看下截图步骤分解:

这样就已经将 box 移除掉了,但并不会移除本地 VirtualBox 的虚拟机文件,下面将继续讲解如何移除

2. Vagrant destroy

// 直接执行 vagrant destroy 即可
vagrant destroy
// 提示是否要将其移除时输入 y 回车即可

这样就也将 VirtualBoxvm 文件移除掉了

3. 删除 Homestead 目录文件

将你的 Homestead 文件夹删除即可,此时你删除掉的东西是足够干净的,我们已经移除了 vagrant box,也删除掉了 VirtualBox 的占用磁盘几个 G 的虚拟机 vm 文件,现在我们将 Homestead 删除就干净了

4. 重装 Homestead

// 命令行进入你需要安装的位置
// 1. 执行
git clone https://gitee.com/summerblue/homestead.git Homestead
// 2. 进入 Homestead 文件夹中
cd Homestead\
// 3. 查看 Homestead 远程分支中的版本
git branch -a
// 4. 选择你所需要的版本(这里我选的是 v7.8.0)
git checkout v7.8.0

5. 初始化 Homestead

// Homestead 根目录中命令行下输入
bash init.sh

大功告成,这样一来你就完成了整个删除和重建的操作,可以继续开始你的编码了,运行上面的代码后,会在 Homestead 目录下生成三个文件

  • Homestead.yaml:主要配置信息文件,我们可以在此文件中配置 Homestead 的站点和数据库等信息
  • after.sh:每一次 Homestead 盒子重置后(provision)会调用的 shell 脚本文件
  • aliases:每一次 Homestead 盒子重置后(provision),会被替换至虚拟机的 ~/.bash_aliases 文件中,aliases 里可以放一些快捷命令的定义

当然,由于你在步骤 2 中已将 VirtualBoxvm 文件删掉了,那么此时你执行 vagrant up 是会报错:

The box 'lc/homestead' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Vagrant Cloud, please verify you're logged in via
`vagrant login`. Also, please double-check the name. The expanded
URL and error message are shown below:

URL: ["https://vagrantcloud.com/lc/homestead"]
Error: The requested URL returned error: 404 Not Found

原因分析:由于已将 vm 文件移除 vagrant up 启动虚拟机时便找不到虚拟机文件就无法启动,所以上面第一行报错提示 The box ... not be found 未找到或是在远程目录无法访问

解决方案:

// 如果是你自己的 Homestead box 就按照你的步骤

// 如果是上面链接的那么下载完成后目录包含两个文件:
virtualbox.box(教程定制化过的 Homestead 盒子)
metadata.json(盒子的导入配置文件)

// 将下载的文件解压后,通过命令行进入解压目录的根目录并执行:
vagrant box add metadata.json
// 注意:请解压至非中文路径,否则可能会产生一些未知的问题

如果你使用的 Windows 系统在安装 Homestead 的时候报错:The box 'laravel/homestead' could not be found or could not be accessed in the remote catalog. 请下载 MS Visual C++ 2010 x86 并进行安装即可修复。

// 再次在 Homestead 根目录中执行
vagrant up
// 即可启动虚拟机

欢迎观看,本章结束

更多 vagrant 命令点击 👉 传送门