6

我已经按照 Laravel站点中描述的步骤安装了宅基地。安装成功完成。

我已经配置了 Homestead.yaml 文件:

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

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: D:/Code/Homestead/Projects/RestaurantManager
      to: /home/vagrant/RestaurantManager

sites:
    - map: laravel.app
      to: /home/vagrant/RestaurantManager/public

databases:
    - homestead

variables:
    - key: 'APP_ENV'
      value: 'local'
    - key: 'APP_DEBUG'
      value: 'true'

编辑主机文件:

127.0.0.1   laravel.app
192.168.10.10 laravel.app

我可以运行 vagrant up 并 ssh 进入虚拟机。

问题是文件夹映射不起作用。尽管我给出了不同的路径,但映射始终使用相同的路径(D:/Code/Homestead)。在这里你可以看到它:

在此处输入图像描述

因此,当我尝试在本地访问该应用程序时,我得到“页面不可用”。

4

5 回答 5

9

当您更改配置中的某些内容时,黄金法则是使用配置选项重新加载 vagrant 机器,因此请尝试运行:

vagrant reload --provision
于 2015-11-22T19:53:52.473 回答
1

Homestead.yaml文件应具有:

folders:
    - map: D:/Code/Homestead/Projects # Note 1
      to: /home/vagrant/Code # Note 2

sites:
    - map: laravel.app
      to: /home/vagrant/Code/RestaurantManager/public
  1. 应该匹配您的操作系统文件结构
  2. Homestead 的文件结构,你不应该改变它。

您的hosts文件还需要更新以删除对127.0.0.1(即您的本地主机)的引用:

192.168.10.10 laravel.app
于 2015-11-22T19:43:37.807 回答
1

首先,你需要知道 Vagrant 会自动Vagrantfile将宿主机的当前目录配置为共享文件夹到/vagrantVM 内部的目录。

要禁用此默认行为,请在您的Vagrantfile:

config.vm.synced_folder ".", "/vagrant", disabled: true

\其次,您可以通过转义字符来编写 windows 文件路径,如下所示:

folders:
    - map: D:\\Code\\Homestead\\Projects\\RestaurantManager
      to: /home/vagrant/RestaurantManager

⚠重要提示:完成此操作后,运行:

vagrant reload --provision

或者,您可以删除您的整个folders部分Homestead.yaml并直接指定共享文件夹映射,Vagrantfile如下所示:

config.vm.synced_folder ".", "/home/vagrant/RestaurantManager"
于 2019-03-18T00:19:21.283 回答
1

由于vagrant-hostsupdater我有类似的问题。只需使用卸载插件

vagrant plugin uninstall vagrant-hostsupdater

然后再次配置机器

vagrant reload --provision
于 2016-09-27T11:32:46.940 回答
0

\对于 Windows,在映射到特定文件夹时使用反斜杠试试这个:

folders:
    - map: D:\Code\Homestead\Projects\RestaurantManager
      to: /home/vagrant/RestaurantManager
于 2015-11-22T19:42:46.200 回答