配置Homestead.yaml在Laravel 5中的问题


Problems in configuring Homestead.yaml in Laravel 5

我是Laravel的新手,我将为我的应用程序设置VM。我很好地遵循了文档,我几乎完成了配置。我被困在这里了。

我有Windows 8,我的Homestead.yaml文件看起来像这样:

authorize: E:/laravel_projects/Homestead/keys.pub
keys:
    - ~/.ssh/id_rsa
folders:
    - map: E:/laravel_projects
      to: E:/vagrant/laravel_projects
sites:
    - map: learn.app
      to: E:/vagrant/laravel_projects/myfirstapp/public
variables:
    - key: APP_ENV
      value: local

当我在cmd中运行Vagrant时,错误是这样的。

E:/laravel_projects/Homestead/scripts/homestead.rb:26:in `read': No such file or directory - E:/laravel_projects/Homestead/keys.pub (Errno::ENOENT)
    from E:/laravel_projects/Homestead/scripts/homestead.rb:26:in `block in configure'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/plugins/kernel_v2/config/vm_provisioner.rb:72:in `call'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/plugins/kernel_v2/config/vm_provisioner.rb:72:in `add_config'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/plugins/kernel_v2/config/vm.rb:285:in `provision'
    from E:/laravel_projects/Homestead/scripts/homestead.rb:24:in `configure'
    from E:/laravel_projects/Homestead/Vagrantfile:9:in `block in <top (required)>'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/config/v2/loader.rb:37:in `call'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/config/v2/loader.rb:37:in `load'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/config/loader.rb:103:in `block (2 levels) in load'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/config/loader.rb:97:in `each'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/config/loader.rb:97:in `block in load'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/config/loader.rb:94:in `each'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/config/loader.rb:94:in `load'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/vagrantfile.rb:28:in `initialize'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/environment.rb:614:in `new'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/environment.rb:614:in `vagrantfile'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/environment.rb:399:in `host'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/environment.rb:198:in `block in action_runner'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/action/runner.rb:33:in `call'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/action/runner.rb:33:in `run'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/environment.rb:386:in `hook'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/lib/vagrant/environment.rb:596:in `unload'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/bin/vagrant:177:in `ensure in <main>'
    from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.6.5/bin/vagrant:177:in `<main>'

我的项目路径是E:/laravel_projects。

应该是这样的:

folders:
    - map: E:/laravel_projects
      to: /home/vagrant/laravel_projects
  - map: E:/laravel_projects/myfirstapp
      to: /home/vagrant/laravel_projects/myfirstapp
sites:
    - map: learn.app
      to: /home/vagrant/laravel_projects/myfirstapp/public

您的linux虚拟机将没有E驱动器。

查看错误中的第一行:

E:/lavel_projects/Homestead/scripts/homest.rb:26:in"read":没有这样的文件或目录-E:/laravel_projects/Homestead/keys.pub(Errno::ENOENT)

显然钥匙不在那里。确保您已生成SSH密钥并指定了正确的路径。

此外,在你的家园。yaml:

keys:
    - ~/.ssh/id_rsa

这是指向私钥的路径,尽管它是一个*nix路径。您需要将其设置为Windows系统上生成的私钥的路径。