设置 Homestead 开发环境时遇到问题

Troubles setting up Homestead dev environment

vag运行t 的新手,我只是想了解一下发生了什么。使用 OSX.

  1. 已安装 Virtual Box

  2. 已安装 Vag运行t

  3. 通过 vagrant box add laravel/homestead

    下载了 homestead Vag运行t 盒子
    • 我认为这是实际的 VM 映像。它下载到哪里?
  4. 将 Homestead 存储库克隆到我的 'home' 文件夹中。 git 克隆 https://github.com/laravel/homestead.git Homestead

  5. 已创建 ssh 密钥

-- 下面可能犯的错误

  1. 已打开 homestead.yaml 位于 ~/Homestead/src/stubs/

  2. 编辑共享文件夹并将nginx目录映射到域,将IP映射到hosts文件中的mydomain.app

  3. 运行 vagrant up, vag运行t 在我的主目录中创建了一些名为 VirtualToolBox 或类似内容的巨大 2.7GB 文件夹,它似乎有里面有一些虚拟机映像?我想它只是将我之前下载的 Vag运行t Box 图像复制到我的主目录中 ?

  4. 我打开浏览器 运行 mydomain.app 浏览器显示(没有输入源文件)

  5. 我使用 ~/Homestead/src/stubs/ 中的 homestead.yaml 文件访问了 fiddle 并更新了我的共享文件夹。下次我运行vagrant up报错,说旧的共享文件夹已经不存在了,但是我改了homestead.yaml里的东西,还是读取旧的配置来自某处。

  6. 然后我在我的主目录中发现了一个隐藏文件夹,即 .homestead,其中还有另一个 homestead.yaml 文件,其中包含旧的配置设置。

  7. 我以为我会重新开始。删除了 ~/homestead 和 ~/.homestead 以及我主目录中带有 vm 图像文件夹的 VToolbox 文件夹 ~/

  8. 然后我再次克隆了 Homestead 存储库 git 将 https://github.com/laravel/homestead.git Homestead 克隆到我的主文件夹中,但是当我现在 运行 vag运行t 起来时,我得到一个错误 'a box must be specified' . 运行ning vag运行t init 或 vag运行t provision 没有帮助。

那把我留在哪里,我真的删除了整个 vag运行t 我用 vagrant box add laravel/homestead 下载的 VM 映像?而我现在 需要重新下载吗?创建的 VirtualToolBox 文件夹不在下载位置,因为它仅在第一个 vag运行t up 命令时创建。所以我希望我不必再次下载它并且某处还有副本?

vagrant box add laravel/homestead 命令下载的实际图像在哪里?

vag运行t 安装在哪里?

我应该使用哪个 homestead.yaml 文件?隐藏文件夹中的那个?

在 homestead.yaml 中更改 configuration/shared 文件夹等后,我需要 运行 什么?

让我试着回答你的问题列表中的几点,主要是关于 vagrant box/VM 管理:vagrant box 和 VM 是两个不同的东西。

一旦被 vagrant 下载并安装,the box will be stored

  • Mac OS x: ~/.vagrant.d/boxes
  • Windows: C:/Users/USERNAME/.vagrant.d/boxes

当你 运行 vagrant up 时,vagrant 根据你指定的提供者创建一个虚拟 Machine(在你的情况下它将是一个 Virtual Box VM)基于 box你指定了。您可以从同一个框中创建任意数量的 VM want/need。 (盒子通常只包含 OS 和像 chef、puppet 这样的配置器工具......但你可以将它视为 vagrant 用来创建新实例的图像)

在这个阶段,你有 vagrant 使用的 box 文件(.vagrant.d 下的 box 文件)和你的 VM(Virtual Box 的 vbox 文件)。如果您 运行 vagrant destroy 它将删除 VM(vbox 文件)(并且还会从 运行ning VM 中删除引用)这基本上就是您手动执行的操作。

但是盒子仍然完好无损,所以如果您再次 运行 vagrant up,它会从您下载的同一个盒子创建一个全新的 VM,它存储在 .vagrand.d文件夹

宅基地部分:

您在#4 之后少了一个步骤;克隆 git 存储库后,您应该 运行 Homestead 目录中的以下内容

bash init.sh

这将在您的 ~/.homestead 目录中创建 Homestead.yaml 配置文件

你应该只修改这个文件,不要触及 src/ 目录下的文件