yaml 的 vs-code 编辑器说需要一个地图但找到了一个序列

Dat*_*eek 0 yaml redhat ansible visual-studio-code

我正在编辑 ansible 角色的任务文件夹中的 main.yml。

我正在使用 Red Hat 的 YAML vscode 扩展。

这是文件的第一部分...

# Install Packages
- name: Install the Kafka Broker Packages
  yum:
    name: "{{item}}-{{confluent.package_version}}"
    state: latest
  loop: "{{kafka_broker_packages}}"
  when: ansible_os_family == "RedHat"

- name: Install the Kafka Broker Packages
  apt:
    name: "{{item}}={{confluent.package_version}}"
    update_cache: yes
  loop: "{{kafka_broker_packages}}"
  when: ansible_os_family == "Debian"
Run Code Online (Sandbox Code Playgroud)

整个文件都有红色的波浪线下划线说:

Expecting a 'map', but found a 'sequence'
Run Code Online (Sandbox Code Playgroud)

我确定我在做一些愚蠢的事情 - 非常感谢任何帮助

小智 5

此问题的原因是 ansible 扩展 ( https://marketplace.visualstudio.com/items?itemName=vscoss.vscode-ansible ) 无法将给定文件识别为其支持的项目。要摆脱它,请尝试编辑 VSCode 的 settings.json 以添加以下配置:

"files.associations": {
    "**/*.yml": "ansible"
},
"ansible.validation": true
Run Code Online (Sandbox Code Playgroud)