【问题标题】:Troubles setting up Homestead dev environment设置 Homestead 开发环境的问题
【发布时间】:2016-03-07 15:02:42
【问题描述】:

对 vagrant 不熟悉,只是想把我的脑海中的一切都包裹起来。使用 OSX。

  1. 已安装 Virtual Box

  2. 已安装 Vagrant

  3. 通过vagrant box add laravel/homestead下载了宅基地流浪盒子

    • 我认为这是实际的 VM 映像。下载到哪里?
  4. 将 Homestead 存储库克隆到我的“主”文件夹中。 git clone https://github.com/laravel/homestead.git Homestead

  5. 已创建 ssh 密钥

-- 下面可能出现的错误

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

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

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

  4. 我打开浏览器并运行 mydomain.app 和浏览器声明(无输入源文件)

  5. 我去摆弄~/Homestead/src/stubs/ 中的 homestead.yaml 文件并更新了我的共享文件夹。下次我运行vagrant up 时,它给了我一个错误,指出旧的共享文件夹不再存在,但我更改了 homestead.yaml 中的内容,但它仍在从某个地方读取旧配置。

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

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

  8. 然后我再次克隆了 Homestead 存储库 git clone https://github.com/laravel/homestead.git Homestead 到我的主文件夹中,但是当我现在运行 vagrant up 时,我收到一个错误,即“a box must be specified”。运行 vagrant init 或 vagrant provision 没有帮助。

这让我怎么了,我真的删除了整个 vagrant 我用vagrant box add laravel/homestead 下载的VM 映像?而我现在 需要重新下载吗?创建的那个 VirtualToolBox 文件夹不是它下载的地方,因为它只是在第一个 vagrant up 命令上创建的。所以我希望我不必再次下载它并且在某个地方还有一个副本?

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

vagrant 安装在哪里?

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

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

【问题讨论】:

    标签: laravel vagrant homestead


    【解决方案1】:

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

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

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

    当你运行vagrant up 时,vagrant 根据你指定的提供者创建一个虚拟机(在你的情况下,它将是一个 Virtual Box VM)基于你指定的盒子。您可以从同一个盒子中创建任意数量的虚拟机。 (Box 通常只包含操作系统和配置工具,如厨师、木偶……但您可以将其视为 vagrant 用来创建新实例的图像)

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

    但是盒子保持不变,所以如果你再次运行vagrant up,它将从你下载的同一个盒子创建一个全新的虚拟机,它存储在 .vagrand.d 文件夹下

    关于宅基地部分:

    #4 之后你少了一个步骤;一旦你克隆了 git repo,你应该从 Homestead 目录运行以下命令

    bash init.sh
    

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

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

    【讨论】:

    • 谢谢。 Homestead 存储库在哪里适合这个?我知道 Homestead repo 带有它自己的 vagrantfile,vagrant 用来配置 VM,我遇到的问题是 Vagrant 找不到和使用 homestead.ymal 配置文件。只有当我编辑 vagrantfile 并手动指定 vagrant box 'laravel/homestead' 的名称时,我才能成功 vagrant up(克隆、启动 VM),即使这样,在 VM 中也没有创建 homestead.ymal 中指定的共享文件夹。跨度>
    • 更新宅基地部分
    • bash init.sh 丢失。非常感谢。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多