13

我想laravel homestead用于我的开发机器并成功安装了 virtualbox 和 vagrant,但是当我运行时出现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- 请您指出我应该如何配置我的设置,因为官方文档让我有点迷失了。

4

5 回答 5

19

在 homestead 目录中,您必须运行命令bash init.sh

这将在您的主目录 ( ) 中生成Homestead.yaml文件 (and after.sh) 。aliases~

如果您Homestead.yaml再次更改,则必须再次重新运行bash init.sh。它会要求覆盖,说是。

(正如其他答案中提到的,确保目录folders: - map:存在)

于 2015-08-18T20:34:34.853 回答
15

在你的 Ubuntu 机器上,你必须让 Homestead 知道你的实际代码在哪里。例子:

如果您的代码位于名为 WORKSPACE 的单独分区中,则需要键入以下内容:

    - map: /Volumes/WORKSPACE/YourProject
      to: /home/vagrant/Code
于 2015-02-17T09:21:02.490 回答
3

在 Windows 的情况下,我使用了这个:
- 映射:e:/GIT/PHP/mathmaps/Code
到:/home/vagrant/Code

PS GIT 是我的工作区文件夹

于 2015-07-22T20:32:18.600 回答
1

再次运行 bash init.sh 将提示覆盖初始设置,这还将输出编辑正确 Homestead.yaml 文件所需的目录路径。

于 2015-09-14T00:06:08.763 回答
-1

map: 属性必须设置为您要保存代码的位置。例如,我将把我的代码保存在 Homestead 文件夹中名为 code 的文件夹中,因此 map 是:

folders:
    - map: ~/Development/Homestead/Code
      to: /home/vagrant/Code

“开发”只是我的主目录中的一个文件夹,我保存所有代码

于 2016-09-10T20:28:13.600 回答