0

最近一直试图让 Ansible 与 Cpanm 一起工作。我读过了

https://docs.ansible.com/ansible/2.5/modules/cpanm_module.html

并且能够使用以下代码安装一个 perl 模块:

# install Dancer perl package
- cpanm:
name: Dancer

但是,每次我尝试使用这样的项目列表时:

- name: Install OS utilities
dnf: name="{{ item }}" state=present
with_items: "{{ utils.deb }}"

- name: Install pip modules
pip: name="{{ item }}" state=present
with_items: "{{ utils.pip }}"

- name: Install the perl modules
cpanm:
name: "{{ item }}"
with_items: "{{ utils.cpanm }}" 

它会抛出:

docker: failed: [default] (item=Array::Utils) => {"changed": false, "item": "Array::Utils", "msg": "one of the following is required: name, from_path"}

对于我要安装的每个模块

关于我做错了什么的任何想法,以便我不必通过 shell 安装它们或为每个模块执行第一段代码?

谢谢

4

1 回答 1

0

可能是缩进问题,你应该有:

- name: Install Perl modules
  cpanm:
    path: "{{ item }}"
  with_items:
    - module1
    - module2
于 2018-11-19T12:34:52.237 回答