最近一直试图让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安装它们或为每个模块执行第一部分代码?
谢谢
可能是缩进问题,您应该:
- name: Install Perl modules
cpanm:
path: "{{ item }}"
with_items:
- module1
- module2