【问题标题】:Laravel can't map folders with HomesteadLaravel 无法使用 Homestead 映射文件夹
【发布时间】:2016-11-11 22:14:45
【问题描述】:

我安装了 Vagrant 和 Virtual Box,我在默认文件夹 (~/.ssh/) 中创建了一个 SSH 密钥,并按照文档使用 Homestead 配置 Laravel 5。

Vagrant up 正在运行,但该文件夹不是我配置文件的位置。

我的 Homestead.yaml 设置文件夹是 ~/Documents/develop/home,但是 vagrant up 设置是 /vagrant to /User/Docuements/Homestead

谁能帮我找出问题所在?

这是我的配置文件 Homestead.yaml

ip: "192.168.10.10"
  3 memory: 2048
  4 cpus: 1
  5 provider: virtualbox
  6  
  7 authorize: ~/.ssh/id_rsa.pub
  8  
  9 keys:
 10     - ~/.ssh/id_rsa
 11  
 12 folders:
 13     - map: ~/Documents/develop
 14       to: /home
 15  
 16 sites:
 17     - map: goldenquant.app
 18       to: /home/goldenquant/public
 19     - map: blog.app
 20       to: /home/blog/public
 21  
 22 databases:
 23     - homestead

这是我的终端运行 vagrant up 结果。

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'laravel/homestead'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'laravel/homestead' is up to date...
==> default: Setting the name of the VM: Homestead_default_1468067791872_61342
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: 
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: 
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/Xing/Documents/Homestead

【问题讨论】:

  • 你更新你的主机文件了吗?
  • 是的,我的 hosts 文件已经更新了。

标签: php laravel vagrant virtualbox homestead


【解决方案1】:

您实际上可以通过告诉 Vagrant 不要生成新的密钥对来禁用此功能:

config.ssh.insert_key = false

您可以查看发生这种情况的 PR here

【讨论】:

  • 我的问题是文件夹映射不能跟随 Homestead.yaml。不是 ssh 密钥。
【解决方案2】:

你试过运行vagrant up --debug吗? (见docs

但我可以想象尝试映射到 VM 上的 /home 可能会出现问题,请尝试 /home/vagrant 中的目录,并为地图的本地部分使用完整路径,例如,

folders:
    - map: /Users/Xing/Documents/develop
      to: /home/vagrant/develop

或类似的。我确信某处有更完整的文档,但请参阅 this 了解一些工作示例。

【讨论】:

  • 我尝试了folders: - map: /User/Xing/Documents/develop to: /var/www,但仍然显示default: /vagrant => /Users/Xing/Documents/Homestead
  • 首先,我会尝试显示的示例,因为我不确定您可以在哪里创建共享的限制——如果可行,您可以尝试不同的位置。并尝试查看调试输出,默认情况下很多,但您可以使用 grep 查找您要查找的内容。再次,请参阅 Vagrant 文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-30
相关资源
最近更新 更多