设置Homestead开发环境的麻烦

时间:2015-12-03 05:30:47

标签: laravel vagrant homestead

流浪汉的新手,只是试图将我的思想包围着。使用OSX。

  1. 安装了Virtual Box

  2. 已安装Vagrant

  3. 通过vagrant box add laravel/homestead

    下载了Homestead Vagrant框
    • 我认为这是实际的VM映像。它在哪里下载到?
  4. 将Homestead存储库克隆到我的家中'夹。 git clone https://github.com/laravel/homestead.git Homestead

  5. 创建了ssh密钥

  6. - 下面可能出现的错误

    1. 打开位于〜/ Homestead / src / stubs /

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

    4. Ran vagrant up,vagrant在我的主目录中创建了一个名为VirtualToolBox的大型2.7GB文件夹或其他内容,它似乎有一些虚拟机映像?我认为它只是将我之前下载的Vagrant Box图像复制到我的主目录中?

    5. 我打开浏览器并运行了mydomain.app和浏览器声明(没有输入源文件)

    6. 我去了~/Homestead/src/stubs/中的homestead.yaml文件,并更新了我的共享文件夹。下次我运行vagrant up时它给了我一个错误,说明旧的共享文件夹不再存在,但是我在homestead.yaml中更改了它,但它仍在从某处读取旧配置。

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

    8. 我以为我会重新开始。删除〜/ homestead和〜/ .homestead以及我的主目录中带有vm images文件夹的VToolbox文件夹〜/

    9. 然后我再次克隆了Homestead回购 git clone https://github.com/laravel/homestead.git Homestead进入我的主文件夹,但是当我现在运行流浪汉时,我收到错误消息a box must be specified'。运行vagrant init或vagrant provision无济于事。

    10. 我离开了哪里,我是否真的删除了整个流浪汉 我用vagrant box add laravel/homestead下载的虚拟机映像?而我现在 需要再次下载吗?创建的VirtualToolBox文件夹不是它下载的位置,因为它仅在第一个vagrant up命令上创建。所以我希望我不必再次下载它,并且某处还有副本?

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

      vagrant安装在哪里?

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

      在homestead.yaml中更改配置/共享文件夹等后需要运行什么?

1 个答案:

答案 0 :(得分:4)

让我试着回答你的问题列表中的几点,主要是关于流浪盒/虚拟机管理:流浪盒和虚拟机是两个不同的东西。

由vagrant下载并安装the box will be stored

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

当您运行vagrant up时,vagrant会根据您指定的框(根据您的情况,它将是一个虚拟框VM)创建一个基于您指定的框的虚拟机。您可以从同一个框中创建任意数量的VM。 (Box通常只包含操作系统和配置工具,如厨师,木偶......但您可以将其视为流浪汉用于创建新实例的图像)

在此阶段,您可以使用vagrant(.vagrant.d下的box文件)和VM(Virtual Box的vbox文件)使用的box文件。如果你运行vagrant destroy它将删除VM(vbox文件)(并且还删除运行VM的引用),这基本上是你手动完成的。

但是该框保持不变,因此如果再次运行vagrant up,它将从您下载的同一个框中创建一个全新的VM,并存储在.vagrand.d文件夹下

关于宅基地部分:

#4后你失去了一步;一旦克隆了git repo,就应该从Homestead目录中运行以下命令

bash init.sh

这将创建位于Homestead.yaml目录

中的~/.homestead配置文件

然后,您应该只修改此文件,不要触摸src/目录

下的文件