Homestead.yaml 带括号的格式目录路径

Homestead.yaml format directory path with parenthesis

启动 homestead 时出错,认为是由于 Homestead.yaml

中目录路径的格式问题

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: c:/Users/Charles W/.ssh/id_rsa.pub

keys:
        - c:/Users/Charles W/.ssh/id_rsa

folders:
        - map: d:/Dropbox (Personal)/code/Homestead/ 
      to: /home/vagrant/code

sites:
    - map: homestead.test
      to: /home/vagrant/code/public

databases:
    - homestead

我试过用 \ 转义特殊字符,也试过将 " 放在整个路径周围,但仍然出现错误 C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.4.0/psych.rb:377:in 'parse': (<unknown>): did not find expected key while parsing a block mapping at line 2 column 1 (Psych::SyntaxError)

当 运行 vagrant up 来自 gitbash on Windows 10

我应该如何正确格式化 .yaml 文件中的目录路径?

错误消息有点误导,因为错误实际上在第 14 行。

folders:
        - map: d:/Dropbox (Personal)/code/Homestead/ 
      to: /home/vagrant/code

对齐错误,你的意思可能是

folders:
        - map: d:/Dropbox (Personal)/code/Homestead/
          to: /home/vagrant/code

一些解析器能够为您提供两个错误位置。例如 libyaml 会告诉你:

    did not find expected key

was found at document: 1, line: 14, column: 7
while parsing a block mapping at line: 2, column: 1

似乎 rubypsych 只选择了一个位置,在这种情况下它是错误的。

所以你的问题与转义无关。但您可能还是想阅读 my article on YAML quoting