代码之家  ›  专栏  ›  技术社区  ›  Noble-Surfer

Laravel安装程序-运行vagrant会产生解析错误“[]=”:字符串不匹配

  •  0
  • Noble-Surfer  · 技术社区  · 6 年前

    我在关注这个 guide 要在CentOS 7虚拟机上启动并运行Laravel,必须进行第6步-编写器设置。上面写着 cd 进入“Homestead”目录,然后运行 vagrant up ,后跟 vagrant ssh .

    现在,当我跑的时候 流浪汉 ,我得到一个错误,上面写着:

    this 问题,答案似乎表明其中一个连字符太长了 Homestead.yaml 文件(即双连字符)。。。我看了一眼,但对我来说似乎不是这样。

    我的 宅地

    ---
    ip: "192.168.10.10"
    memory: 2048
    cpus: 1
    provider: virtualbox
    
    authorize: ~/.ssh/id_rsa.pub
    
    keys:
        - ~/.ssh/id_rsa
    
    folders:
        - map: ~/code
         to: /home/vagrant/code
         type: "nfs"
    
    sites:
        - map: homestead.test
         to: /home/vagrant/code/public
    
        - map homestead.app
         to: /home/vagrant/Code/Laravel/public
    
    databases:
        - homestead
    

    有人知道我为什么不能跑吗 ? 我还能做些什么来解决这个问题?

    编辑

    所以,我遇到了 this 答案是,这个问题似乎不是因为我的yaml文件中有一个双连字符,实际上是因为以连字符开头的行下面的几行是制表符,而不是空格,而且我还缺少多行字符串指示符 |

    将yaml文件的相关部分更改为包含 | ,并将选项卡更改为空格

    已解决错误:

    folders:
        - |
         map: ~/code
         to: /home/vagrant/code
         type: "nfs"
    
    sites:
        - |
         map: homestead.test
         to: /home/vagrant/code/public
    
        - |
         map homestead.app
         to: /home/vagrant/Code/Laravel/public
    

    ,我得到另一个错误:

    C:/用户//宅地。rb:213:在“[]”中:字符串不匹配(索引器错误)

    我不明白这个错误显示了什么,因为我看不到 '[]=': 我的yaml文件中的任何字符。。。有人有什么想法吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   JD-V    6 年前

    你忘了在yaml文件的map之后添加:(冒号) homestead.app

    这就是导致这个错误的原因。这可能是反应迟钝,但一般来说伊马尔宅地有语法错误, vagrant up