当Ansible无法正确评估多个ansible_facts.packages时,可能是由于facts缓存导致,可以使用以下方法来解决:
1.在playbook文件或role的task文件中使用gather_facts:no来禁用facts缓存。
- hosts: myhost
gather_facts: no
tasks:
- name: some task
debug:
msg: "{{ ansible_facts.packages }}"
2.在任务中添加一个刷新facts的任务:
- hosts: myhost
tasks:
- name: Refresh facts
setup:
- name: some task
debug:
msg: "{{ ansible_facts.packages }}"
以上两种方法都可以解决Ansible无法正确评估多个ansible_facts.packages的问题。