[英]Laravel Homestead folders mapping not working correctly
我按照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'
编辑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
(这是您的localhost)的引用:
192.168.10.10 laravel.app
由于vagrant-hostsupdater,我有类似的问题。 只需使用即可卸载插件
vagrant plugin uninstall vagrant-hostsupdater
然后再次配置机器
vagrant reload --provision
首先,您需要知道Vagrant会自动将Vagrantfile
的当前目录从主机配置为VM内/vagrant
Vagrantfile
目录的共享文件夹。
要禁用此默认行为,请在Vagrantfile
添加以下行:
config.vm.synced_folder ".", "/vagrant", disabled: true
其次,您可以通过转义\\
字符来编写Windows文件路径,如下所示:
folders:
- map: D:\\Code\\Homestead\\Projects\\RestaurantManager
to: /home/vagrant/RestaurantManager
⚠重要:完成后,运行:
vagrant reload --provision
或者,您可以删除Homestead.yaml
的整个folders
部分,并直接在Vagrantfile
指定共享文件夹映射, Vagrantfile
所示:
config.vm.synced_folder ".", "/home/vagrant/RestaurantManager"
对于Windows,在映射到特定文件夹时使用反斜杠\\
试试这个:
folders:
- map: D:\Code\Homestead\Projects\RestaurantManager
to: /home/vagrant/RestaurantManager
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.