Vagrant没有读过Homestead.yaml

时间:2017-01-05 10:18:08

标签: laravel vagrant homestead

我一直在尝试使用Vagrant在我的计算机和Homestead VM之间同步文件夹。我的猜测是Vagrant没有读取我的Homestead.yaml文件,因为虚拟机中没有反映出任何变化。

我尝试过以下方法:

  • 尝试重新加载,在按照here
  • 编辑文件后暂停提供
  • 选中标签并确保我的yaml文件中有2个空格
  • 重新检查已安装文件夹的路径。尝试了/home/abhirath/Desktop/Laravel_Recipes~/Desktop/Laravel_Recipes
  • 等变体
  • 销毁并重新创建虚拟机
  • 阅读this
  • 等随机教程
  • SSH进入我的虚拟机。我没有看到任何文件夹
  • 我在Homestead.yaml文件中将内存从2048更改为512,并使用sudo cat /proc/meminfo | grep MemTotal检查了我的VM中的RAM,但仍然显示为2048 MB
  • 启用了调试模式的
  • vagrant up。我无法在调试日志中找到任何相关内容

contents of ~/.homestead

  • after.sh
  • 别名
  • Homestead.yaml
  • Vagrantfile

Homestead.yaml

---
ip: "192.168.10.10"
memory: 512
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Desktop/Laravel_Recipes
      to: /home/vagrant/Laravel_Recipes

sites:
    - map: recipes.dev
      to: /home/vagrant/Laravel_Recipes/public

databases:
    - homestead

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

3 个答案:

答案 0 :(得分:1)

原因

我像其他人一样遵循Laravel's Website上给出的教程。我将他们的github repo克隆到~/Homestead,就像教程中给出的一样。运行上面提到的bash脚本后,目录~/.homestead就出现了。他们提到在vagrant up目录中运行.homestead。它需要Homestead目录中的文件。

所以最好的解决方案是使用
git clone https://github.com/laravel/homestead.git ~/.homestead
而不是 git clone https://github.com/laravel/homestead.git Homestead

解释

原来我使用了几乎空的Vagrantfile完全填充了评论。因此我没有使用Laravel提供的Vagrantfile。我使用了运行vagrant init laravel/homestead

后出现的默认Vagrant文​​件

普通Vagrantfile的设置几乎为零。它不会为用户指定的设置查找任何YAML或JSON文件。由于这个原因,我所做的每一项改变都变得毫无用处。

vagrant文​​件必须显式加载Homestead.yaml文件才能获取用户设置。您可以编辑Vagrantfile(您需要了解Ruby的基础知识或修改)或者只使用Laravel附带的已配置的Vagrantfile。

以下文章帮助我理解:

答案 1 :(得分:1)

当您从Homestead.yaml文件中T2.[Remaining Terms]加载现有配置时。

但是,如果在执行homestead up

之前,如果现有配置不受影响,则更改任何内容

参考:Configure Homestead

答案 2 :(得分:0)

问题是在别名阶段使用init.sh创建的Vagrantfile正在尝试写入.homestead如果你有该目录它将被创建并且你可以将它复制到〜/ Homestead目录并且vagrant将工作正常。否则,您可以将Vagrantfile从〜/ Homestead / resources / localized复制到〜/ Homestead