我想将laravel homestead
用于我的开发计算机并成功安装了虚拟机和流浪者,但是当我运行vagrant up
时出现此错误:
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:
vm:
* The host path of the shared folder is missing: ~/Code
Homestead.yaml
文件如下所示:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Code
to: /home/vagrant/Code
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
hhvm: true
databases:
- homestead
variables:
- key: APP_ENV
value: local
这些是默认设置,但它们并非适用于我的机器 - 我甚至没有/home/vagrant
文件夹,也没有~/Code
我能看到的地方。我正在使用ubuntu 12.04
- 请您指出我应该如何配置我的设置,因为官方文档中我有点丢失。
答案 0 :(得分:19)
在宅基地目录中,您必须运行命令bash init.sh
。
这将在您的主目录(Homestead.yaml
)中生成after.sh
文件(以及aliases
和~
)。
如果您再次更改Homestead.yaml
,则必须重新运行bash init.sh
。它会要求覆盖,说是。
(并在其他答案中提到,请确保folders: - map:
的目录存在)
答案 1 :(得分:14)
在您的Ubuntu计算机中,您必须让Homestead知道您的实际代码所在的位置。例如:
如果您的代码位于名为WORKSPACE的单独分区中,则需要输入以下内容:
- map: /Volumes/WORKSPACE/YourProject
to: /home/vagrant/Code
答案 2 :(得分:3)
在Windows中,我使用了这个:
- map:e:/ GIT / PHP / mathmaps / Code
to:/ home / vagrant / Code
P.S。 GIT是我的工作区文件夹
答案 3 :(得分:1)
第二次运行bash init.sh会提示覆盖初始设置,这也会输出编辑正确的Homestead.yaml文件所需的目录路径。
答案 4 :(得分:-1)
必须将map:属性设置为您要保留代码的位置。例如,我将我的代码保存在Homestead文件夹中名为code的文件夹中,因此map为:
folders:
- map: ~/Development/Homestead/Code
to: /home/vagrant/Code
哪里'发展'只是我的主目录中的一个文件夹,我保留了所有代码