在此上下文中不允许使用映射值

在此上下文中不允许使用映射值
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  wifis:
   wlan0:
    dhcp4:no
    dhcp6:no
    addresses: [10.10.10.1/24]
    gateway4: 10.10.10.254

错误消息:
第 8 行第 13 列:此上下文中不允许使用映射值

什么是映射值?

答案1

问题在于 .yaml 文件中使用的缩进

在您的示例中,在“version: 2”之前的“network:”之后但在“wifis:”之后有两个空格缩进,随后仅使用一个额外的空格作为缩进。您可以使用其中一个/或但不能同时使用,因此以下内容将起作用:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  wifis:
    wlan0:
      dhcp4:no
      dhcp6:no
      addresses: [10.10.10.1/24]
      gateway4: 10.10.10.254

你必须保持压痕均匀

答案2

YAML 简介映射定义为:

映射

映射节点的内容是一组无序的键:值节点对,但每个键都是唯一的。

注意:

映射使用冒号和空间(“:”)标记每个键:值对。

(重点是我加的)。因此,如果你省略键和值之间的空格

foo:
  bar:baz
  bam: "xyz"

它会产生错误

():第 3 行第 6 列的此上下文中不允许映射值

然而

foo: 
  bam: xyz
  bar: baz

是有效的 YAML。错误似乎发生在有效行中,因为前一行(“上下文”)已损坏。

例如,您可以尝试www.yamllint.com

相关内容