Cpanm Ansible with List

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cpanm Ansible with List相关的知识,希望对你有一定的参考价值。

最近一直试图让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

以上是关于Cpanm Ansible with List的主要内容,如果未能解决你的问题,请参考以下文章

Ansible Playbook 使用循环语句

asible之-玩转各种循环

Ansible with_sequence问题使用1代替01

Perl 基础笔记: 使用 cpanm 安装 Perl 模块

cpan 和 cpanm 有啥区别? [复制]

慢慢有点感觉——linux perl模块安装cpanm -h cpanm [options] Module [...]