【问题标题】:homestead vagrant broken after added new site添加新站点后宅基地流浪者破碎
【发布时间】:2017-04-26 00:29:30
【问题描述】:

我的流浪盒子有一个奇怪的问题。我对流浪者不是很熟悉。只是想检查是否有人解决了同样的问题,或者至少可以为我提供一些启示。提前感谢您的帮助!

在我向其中添加一个新的 laravel 站点之前,该框工作正常。(我没有更改 vagrantfile 中的任何内容。仅添加了新站点的站点映射)在 composer install 之后,我尝试重新加载 vagrant 框.然后我得到错误:

Bins:homestead Leo$ vagrant reload
/Applications/MAMP/htdocs/homestead/vendor/laravel/homestead/scripts/homestead.rb:178:in `+': no implicit conversion of nil into String (TypeError)
    from /Applications/MAMP/htdocs/homestead/vendor/laravel/homestead/scripts/homestead.rb:178:in `block (2 levels) in configure'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/plugins/kernel_v2/config/vm_provisioner.rb:72:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/plugins/kernel_v2/config/vm_provisioner.rb:72:in `add_config'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/plugins/kernel_v2/config/vm.rb:338:in `provision'
    from /Applications/MAMP/htdocs/homestead/vendor/laravel/homestead/scripts/homestead.rb:177:in `block in configure'
    from /Applications/MAMP/htdocs/homestead/vendor/laravel/homestead/scripts/homestead.rb:166:in `each'
    from /Applications/MAMP/htdocs/homestead/vendor/laravel/homestead/scripts/homestead.rb:166:in `configure'
    from /Applications/MAMP/htdocs/homestead/Vagrantfile:30:in `block in <top (required)>'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/v2/loader.rb:37:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/v2/loader.rb:37:in `load'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/loader.rb:113:in `block (2 levels) in load'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/loader.rb:107:in `each'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/loader.rb:107:in `block in load'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/loader.rb:104:in `each'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/loader.rb:104:in `load'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/vagrantfile.rb:28:in `initialize'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/environment.rb:746:in `new'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/environment.rb:746:in `vagrantfile'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/environment.rb:492:in `host'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/environment.rb:214:in `block in action_runner'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/action/runner.rb:33:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/action/runner.rb:33:in `run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/environment.rb:479:in `hook'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/environment.rb:728:in `unload'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/bin/vagrant:130:in `ensure in <main>'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/bin/vagrant:130:in `<main>'

尽我所能,但仍然无法再次将盒子抬起。

同样在 vagrant global-status 上,我可以在同一个文件夹中看到 2 个框:

id       name        provider   state    directory                           
-----------------------------------------------------------------------------
2727da4  default     virtualbox running  /Users/Leo/Homestead                
6ca3944  co-dev1     virtualbox running  /Users/Leo/vagrant-dev-co           
ae2f475  default     virtualbox running  /Users/Leo/nexuse-vagrant           
83fc055  default     virtualbox running  /Users/Leo/symfony-dev              
bb7c75f  homestead   virtualbox running  /Applications/MAMP/htdocs/homestead 
6634808  homestead-7 virtualbox poweroff /Applications/MAMP/htdocs/homestead 

试图销毁6634808,但又报错:

Bins:~ Leo$ vagrant destroy 6634808
/Applications/MAMP/htdocs/homestead/vendor/laravel/homestead/scripts/homestead.rb:4:in `configure': undefined method `[]' for nil:NilClass (NoMethodError)
    from /Applications/MAMP/htdocs/homestead/Vagrantfile:30:in `block in <top (required)>'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/v2/loader.rb:37:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/v2/loader.rb:37:in `load'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/loader.rb:113:in `block (2 levels) in load'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/loader.rb:107:in `each'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/loader.rb:107:in `block in load'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/loader.rb:104:in `each'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/config/loader.rb:104:in `load'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/vagrantfile.rb:28:in `initialize'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/environment.rb:746:in `new'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/environment.rb:746:in `vagrantfile'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/environment.rb:669:in `machine'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/plugin/v2/command.rb:147:in `block in with_target_vms'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/plugin/v2/command.rb:201:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/plugin/v2/command.rb:201:in `block in with_target_vms'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/plugin/v2/command.rb:183:in `each'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/plugin/v2/command.rb:183:in `with_target_vms'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/plugins/commands/destroy/command.rb:30:in `execute'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/cli.rb:42:in `execute'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/environment.rb:308:in `cli'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.9.4/bin/vagrant:127:in `<main>'

homestead.yaml 文件在这里:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
hostname: homestead
name: homestead
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: "/Applications/MAMP/htdocs/homestead/code"
      to: "/home/vagrant/Code"

sites:
    - map: 
      to: "/home/vagrant/Code/co-orion/public"
    - map: dev.lara.com
      to: "/home/vagrant/Code/lara/public"
    - map: dev.lara53.com
      to: "/home/vagrant/Code/laravel53/public"
    - map: dev.es.com
      to: "/home/vagrant/Code/es"
    - map: dev.laradminlte.com
      to: "/home/vagrant/Code/laradminlte/public"
    - map: dev.lavalite.com
      to: "/home/vagrant/Code/lavalite/public"
databases:
    - orion

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

ports:
#     - send: 50000
#       to: 5000
    - send: 62000
      to: 9200
      protocol: tcp

【问题讨论】:

  • 你有Homestead.yaml 文件吗?
  • 嗨弗雷德里克亨利!谢谢你的时间。刚刚添加了 Homestead.yaml 文件。
  • @FrédéricHenri 我发现了这个问题。网站映射部分不知何故有错字。感谢您的帮助!祝你有美好的一天!

标签: vagrant homestead


【解决方案1】:

SSH 密钥认证失败可能是问题

您应该编辑 Homestead.yaml 文件。在此文件中,您可以配置公共 SSH 密钥的路径,以及您希望在主机和 Homestead 虚拟机之间共享的文件夹。

没有 SSH 密钥?在 Mac 和 Linux 上,您通常可以使用以下命令创建 SSH 密钥对:

ssh-keygen -t rsa -C "you@homestead"

在 Windows 上,您可以安装 Git 并使用 Git 附带的 Git Bash shell 来发出上述命令。或者,您可以使用 PuTTY 和 PuTTYgen。

创建 SSH 密钥后,在 Homestead.yaml 文件的授权属性中指定密钥的路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多