community.general.pear 模块 – 管理 pear/pecl 包

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general

要在剧本中使用它,请指定: community.general.pear

概要

  • 使用 pear 包管理器管理 PHP 包。

参数

参数

注释

executable

path

pear 可执行文件的路径。

name

别名:pkg

字符串 / 必需

要安装、升级或删除的包的名称。

prompts

列表 / 元素=任意

在 community.general 0.2.0 中添加

可在 pear 包安装过程中用于检测提示的正则表达式列表,以回答预期的问题。

提示将按照包列表中的相同顺序处理。

您可以选择为列表中的任何问题指定答案。

如果未提供答案,列表项将仅包含正则表达式。

要指定答案,该项将是一个字典,其中正则表达式作为键,答案作为值 my_regular_expression: 'an_answer'

您可以提供包含带答案或不带答案的项目的列表。

提示列表可以比包列表短或长,但会发出警告。

如果您想指定一个包在列表中间不需要提示,则使用 null

state

字符串

包的所需状态。

选项

  • "present" ← (默认)

  • "installed"

  • "latest"

  • "absent"

  • "removed"

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 中运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

处于差异模式时,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

示例

- name: Install pear package
  community.general.pear:
    name: Net_URL2
    state: present

- name: Install pecl package
  community.general.pear:
    name: pecl/json_post
    state: present

- name: Install pecl package with expected prompt
  community.general.pear:
    name: pecl/apcu
    state: present
    prompts:
        - (.*)Enable internal debugging in APCu \[no\]

- name: Install pecl package with expected prompt and an answer
  community.general.pear:
    name: pecl/apcu
    state: present
    prompts:
        - (.*)Enable internal debugging in APCu \[no\]: "yes"

- name: Install multiple pear/pecl packages at once with prompts.
    Prompts will be processed on the same order as the packages order.
    If there is more prompts than packages, packages without prompts will be installed without any prompt expected.
    If there is more packages than prompts, additional prompts will be ignored.
  community.general.pear:
    name: pecl/gnupg, pecl/apcu
    state: present
    prompts:
      - I am a test prompt because gnupg doesnt asks anything
      - (.*)Enable internal debugging in APCu \[no\]: "yes"

- name: Install multiple pear/pecl packages at once skipping the first prompt.
    Prompts will be processed on the same order as the packages order.
    If there is more prompts than packages, packages without prompts will be installed without any prompt expected.
    If there is more packages than prompts, additional prompts will be ignored.
  community.general.pear:
    name: pecl/gnupg, pecl/apcu
    state: present
    prompts:
      - null
      - (.*)Enable internal debugging in APCu \[no\]: "yes"

- name: Upgrade package
  community.general.pear:
    name: Net_URL2
    state: latest

- name: Remove packages
  community.general.pear:
    name: Net_URL2,pecl/json_post
    state: absent

作者

  • Jonathan Lestrelin (@jle64)