我按照Laravel site中描述的步骤安装了宅基地。安装成功完成。
我已经配置了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'
编辑hosts文件:
127.0.0.1 laravel.app
192.168.10.10 laravel.app
我可以运行vagrant并将ssh运行到虚拟机中。
问题是文件夹映射不起作用。尽管我给出了不同的路径,但映射总是使用相同的路径(D:/ Code / Homestead)。你可以在这里看到它:
因此,当我尝试在本地访问应用程序时,我得到“页面不可用”。
更改配置中的某些内容时的黄金法则是使用provision选项重新加载vagrant机器,因此请尝试运行:
vagrant reload --provision
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
您的hosts
文件也需要更新以删除对127.0.0.1
(这是您的本地主机)的引用:
192.168.10.10 laravel.app
由于vagrant-hostsupdater,我有类似的问题。只需使用即可卸载插件
vagrant plugin uninstall vagrant-hostsupdater
然后再次配置机器
vagrant reload --provision
首先,您需要知道Vagrant会自动将Vagrantfile
的当前目录从主机配置为VM内部/vagrant
目录的共享文件夹。
要禁用此默认行为,请在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"
对于Windows,在映射到特定文件夹时使用反斜杠\
试试这个:
folders:
- map: D:\Code\Homestead\Projects\RestaurantManager
to: /home/vagrant/RestaurantManager