You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vagrant启动失败求助:Laravel Homestead配置报错排查

Laravel Homestead启动报错:YAML语法错误(Psych::SyntaxError)

问题描述

我是Laravel Homestead新手,已安装VirtualBox和Vagrant,按步骤配置后启动Vagrant时出现以下错误:

Traceback (most recent call last):
        17: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/bin/vagrant:214:in `<main>'
        16: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/bin/vagrant:214:in `new'
        15: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/environment.rb:189:in `initialize'
        14: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/environment.rb:998:in `process_configured_plugins'
        13: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/environment.rb:817:in `vagrantfile'
        12: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/environment.rb:817:in `new'
        11: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/vagrantfile.rb:31:in `initialize'
        10: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/config/loader.rb:116:in `load'
         9: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/config/loader.rb:116:in `each'
         8: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/config/loader.rb:119:in `block in load'
         7: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/config/loader.rb:119:in `each'
         6: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/config/loader.rb:126:in `block (2 levels) in load'
         5: from C:/HashiCorp/Vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/config/v2/loader.rb:37:in `load'
         4: from C:/Users/me/Homestead/Vagrantfile:29:in `block in <top (required)>'
         3: from C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.7.0/psych.rb:277:in `load'
         2: from C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.7.0/psych.rb:390:in `parse'
         1: from C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.7.0/psych.rb:456:in `parse_stream'
C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.7.0/psych.rb:456:in `parse': (<unknown>): could not find expected ':' while scanning a simple key at line 6 column 1 (Psych::SyntaxError)

我的Homestead.yaml配置如下:

---
ip: "192.168.5.20"
memory: 8192
cpus: 2
provider: virtualbox

authorize: c:/Users/me/.ssh/id_rsa.pub

keys:
    - c:/Users/me/.ssh/id_rsa

folders:
    - map: c:/workspace
      to: /home/vagrant/workspace
      type: nfs

sites:
    - map: code.test
      to: /home/vagrant/workspace/code
      php: "8.1"
      
    - map: cmsmy-pro.dev.local
      to: /home/vagrant/workspace/my-pro/public
      php: "7.2"
      type: cms-core
      
    - map: www.my-pro.com
      to: /home/vagrant/workspace/my-pro/public/www
      php: "7.2"
      type: cms-core
      
    - map: cmsmy-pro.dev.local
      to: /home/vagrant/workspace/cmsmy-pro/public
      php: "8.0"  

    - map: phpmyadmin.mysql
      to: /home/vagrant/workspace/phpmyadmin
      php: "8.0"

databases:
    - homestead

features:
    - mysql: true
    - mariadb: false
    - postgresql: false
    - ohmyzsh: false
    - webdriver: false

services:
    - enabled:
          - "mysql"
#    - disabled:
#        - "postgresql@11-main"

#ports:
#    - send: 33234 # MySQL/MariaDB
#      to: 2500
#    - send: 5020
#      to: 5020
#    - send: 58720 # PostgreSQL
#      to: 5473
#    - send: 2314 # Mailhog
#      to: 4723
#    - send: 2341
#      to: 2341
#    - send: 58711
#      to: 58711

请问问题出在哪里?


问题原因

错误提示明确指向YAML语法解析失败,核心问题在services节点的格式:你给enabled添加了列表项前缀-,但Homestead的services配置是对象结构,enabled和disabled是对象下的键,而非列表元素。这种错误导致YAML解析器无法识别合法的键值对格式。

修复方法

修改Homestead.yaml中的services部分,去掉enabled前面的-,并保持缩进一致:

services:
    enabled:
        - "mysql"
#    disabled:
#        - "postgresql@11-main"

如果需要启用多个服务,直接在enabled的列表中添加即可,例如:

services:
    enabled:
        - "mysql"
        - "nginx"

额外注意事项

你的sites节点存在重复的map: cmsmy-pro.dev.local配置,虽然不会引发当前的语法错误,但后续可能导致站点路由冲突,建议清理重复条目。

内容的提问来源于stack exchange,提问作者user19836500

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 19:09:28