【问题标题】:The host path of the shared folder is missing: ~/Code缺少共享文件夹的主机路径:~/Code
【发布时间】:2015-04-17 22:46:24
【问题描述】:

我想将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 - 请您指出我应该如何配置我的设置,因为官方文档我有点迷路了。

【问题讨论】:

  • 您是否尝试在您的根目录中创建一个文件夹Code?您的本地机器,即不在虚拟机中。 Homestead 抱怨找不到该目录,因此无法将虚拟机中的/home/vagrant/Code 连接到该目录。

标签: laravel vagrant virtualbox development-environment homestead


【解决方案1】:

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

这将在您的主目录 (~) 中生成 Homestead.yaml 文件(以及 after.shaliases)。

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

(如其他答案中所述,请确保folders: - map: 的目录存在)

【讨论】:

  • 再次运行 bash init.sh 会将值覆盖回默认值...在我的情况下,我只是编辑并保存了文件,就是这样。
【解决方案2】:

在您的 Ubuntu 机器上,您必须让 Homestead 知道您的实际代码所在的位置。示例:

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

    - map: /Volumes/WORKSPACE/YourProject
      to: /home/vagrant/Code

【讨论】:

  • 我按照你的回答,我仍然收到错误* The host path of the shared folder is missing: ~/Applications/MAMP/htdocs/
  • 我的配置是这样的:folders: - map: ~/Applications/MAMP/htdocs/ to: /home/vagrant/Code sites: - map: homestead.app to: /home/vagrant//Applications/MAMP/htdocs/aveniros/Laravel/public
  • 我怎么知道,我的代码在哪里?即如何知道 map: 的值是多少
  • map 的值是您的 本地 代码文件夹。我怎么会不知道你的代码在哪里?
【解决方案3】:

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

附: GIT 是我的工作区文件夹

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

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

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

      【讨论】:

      • 之前已经回答过了。答案已被接受。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      • 2015-02-26
      • 2021-08-05
      • 2010-11-27
      • 1970-01-01
      • 2017-04-12
      相关资源
      最近更新 更多