Homestead.yaml这个配置好像没有被加载.

  1. 描述你的问题
    我现在在用vagrant配置我的php环境。但是不管用homestead在~/.homestead目录下up,还是用vagrant up都没有加载Homestead.yaml配置文件。不知道是为什么。

==> default: Mounting shared folders...
    default: /vagrant => /Users/shenjiayu

上面这个是起动虚拟机的时候打印出来的log.
然后我进入虚拟机去看nginx的配置,sites-available里面也是空的。

阅读 9.9k
4 个回答

修改配置后使用无需重启虚拟机,使用 vagrant provision 重载配置就OK了

新手上路,请多包涵

有缘,我是在2017年2月8日评论+回答,隔了一年不知道你解决了问题没有。

我与你碰到了一样的问题,vagrant up时完全没有去读配置好的homestead.yaml,在vagrant up时,只有孤零零一行 default: /vagrant => /path/to/your/homestead

也就是说,在ssh登录后,没有按homestead.yaml生成共享文件夹,~目录下什么都没有,挂载的文件夹只是homestead本身的目录

查看是否与我问题相同的第二个方法:
vagrant box list
如果显示

clipboard.png
显示laraval/homestead版本号为0,那么肯定有问题。

写下造成错误的做法供警示:
我在git clone homestead项目后,由于在本目录vagrant up无法启动,就删除了Vagrantfile
然后重新vagrant init laravel/homestead
vagrant up
这样可以启动虚拟机,但是启动时完全不会去读homestead.yaml。
也就是说不会有共享文件夹挂载,同时也无法访问。

我的改正方法是:
1.vagrant destroy删除虚拟机
2.删除Homestead文件夹。
3.重新git clone Homestead项目
4.进去Homestead目录,由于之前homestead.yaml已经配置好了,所以没必要再bash init.sh一次
5.将最初因为墙太慢,VPN下载的homestead.box文件拖到这个目录里(方便后面写路径)
6.在本目录下,新建一个json文件

{

"name": "laravel/homestead",

"versions": [{

"version": "1.0.1",

"providers": [{

"name": "virtualbox",

"url": "file://homestead.box"

}]

}]

}

7.然后,vagrant box add homestead.json
8.接着,vagrant up
此时虚拟机启动后,共享文件挂载上去了。
clipboard.png

新手上路,请多包涵

1.git clone https://github.com/laravel/ho... Homestead
2.(不能做bash init.sh,该命令将初始化Vagrantfile文件;初始化后Vangrantfile将不再引用homestead.yaml文件的配置信息)
3.编辑homestead.yaml,我这里可以采用默认信息(也可设置其他地址,目录存在即可)。
需要在宿主机上手动创建~/Code目录,我这里是在C:/Users/Thinkpad/下创建Code目录
4.创建homestead.json文件,主要确保安装包的路径无误。

   cd Homestead
   vi homestead.json,增加以下内容
{
"name": "laravel/homestead",
"versions": [{
"version": "1.1.0",
"providers": [{
"name": "virtualbox",
"url": "file://homestead.box"
}]
}]
}
  1. ssh-keygen -t rsa -C "liub218@qq .com"
    (随便加了自己的邮箱。该步骤不执行,步骤6会报错C:/Users/Thinkpad/Homestead3/scripts/homestead.rb:117:in `read': No such file or directory @ rb_sysopen - C:/Users/Thinkpad/.ssh/id_rsa (Errno::ENOENT等一堆信息)


6.vagrant box add homestead.json
7.vagrant up
会有一堆的信息(以下信息表明nat端口转发及homestead.yaml中的192.168.10.10地址作为hostonly地址也已生效,代表引用了homestead.yaml文件):

==> homestead-7: Preparing network interfaces based on configuration...
    homestead-7: Adapter 1: nat
    homestead-7: Adapter 2: hostonly
==> homestead-7: Forwarding ports...
    homestead-7: 80 (guest) => 8000 (host) (adapter 1)
    homestead-7: 443 (guest) => 44300 (host) (adapter 1)
    homestead-7: 3306 (guest) => 33060 (host) (adapter 1)
    homestead-7: 5432 (guest) => 54320 (host) (adapter 1)
    homestead-7: 27017 (guest) => 27017 (host) (adapter 1)
    homestead-7: 22 (guest) => 2222 (host) (adapter 1)

安装完成,vagrant ssh进入,在~目录下ls可以看到共享文件夹
8.修改宿主机的hosts文件,添加地址映射
192.168.10.10 homestead.app或
127.0.0.1 homestead.app

9.在主机浏览器上输入homestead.app
homestead.app或homestead.app:8000
可以进入laravel网页。

新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏