community.general.homebrew 模块 – Homebrew 的软件包管理器

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,有关详细信息,请参阅要求

要在 playbook 中使用它,请指定:community.general.homebrew

概要

  • 管理 Homebrew 软件包

要求

执行此模块的主机上需要以下要求。

  • homebrew 必须已安装在目标系统上

参数

参数

注释

force_formula

布尔值

在 community.general 9.0.0 中添加

强制将软件包视为 formula(等同于 brew --formula)。

要安装 cask,请使用 community.general.homebrew_cask 模块。

选择

  • false ←(默认)

  • true

install_options

别名:options

列表 / 元素=字符串

安装软件包的选项标志。

name

别名:formula, package, pkg

列表 / 元素=字符串

要安装/删除的软件包名称列表。

path

path

一个以 : 分隔的路径列表,用于搜索 brew 可执行文件。由于软件包(在 Homebrew 术语中为 _formula_)的位置是相对于 brew 命令的实际路径前缀的,因此提供一个备用的 brew 路径可以管理系统中备用位置的不同软件包集。

默认值: "/usr/local/bin:/opt/homebrew/bin:/home/linuxbrew/.linuxbrew/bin"

state

字符串

软件包的状态。

选择

  • "absent"

  • "head"

  • "installed"

  • "latest"

  • "linked"

  • "present" ←(默认)

  • "removed"

  • "uninstalled"

  • "unlinked"

  • "upgraded"

update_homebrew

布尔值

首先更新 Homebrew 本身。

选择

  • false ←(默认)

  • true

upgrade_all

别名:upgrade

布尔值

升级所有 Homebrew 软件包。

选择

  • false ←(默认)

  • true

upgrade_options

列表 / 元素=字符串

在 community.general 0.2.0 中添加

升级的选项标志。

属性

属性

支持

描述

check_mode

支持: 完整

可以在 check_mode 中运行,并返回更改状态预测,而无需修改目标。

diff_mode

支持:

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

注释

注意

  • 当与 loop: 一起使用时,每个软件包都将单独处理,直接将列表传递给 name 选项会更有效。

示例

# Install formula foo with 'brew' in default path
- community.general.homebrew:
    name: foo
    state: present

# Install formula foo with 'brew' in alternate path (/my/other/location/bin)
- community.general.homebrew:
    name: foo
    path: /my/other/location/bin
    state: present

# Update homebrew first and install formula foo with 'brew' in default path
- community.general.homebrew:
    name: foo
    state: present
    update_homebrew: true

# Update homebrew first and upgrade formula foo to latest available with 'brew' in default path
- community.general.homebrew:
    name: foo
    state: latest
    update_homebrew: true

# Update homebrew and upgrade all packages
- community.general.homebrew:
    update_homebrew: true
    upgrade_all: true

# Miscellaneous other examples
- community.general.homebrew:
    name: foo
    state: head

- community.general.homebrew:
    name: foo
    state: linked

- community.general.homebrew:
    name: foo
    state: absent

- community.general.homebrew:
    name: foo,bar
    state: absent

- community.general.homebrew:
    name: foo
    state: present
    install_options: with-baz,enable-debug

- name: Install formula foo with 'brew' from cask
  community.general.homebrew:
    name: homebrew/cask/foo
    state: present

- name: Use ignore-pinned option while upgrading all
  community.general.homebrew:
    upgrade_all: true
    upgrade_options: ignore-pinned

- name: Force installing a formula whose name is also a cask name
  community.general.homebrew:
    name: ambiguous_formula
    state: present
    force_formula: true

返回值

常见的返回值记录在此处,以下是此模块特有的字段

描述

changed_pkgs

列表 / 元素=字符串

在 community.general 0.2.0 中添加

模块运行后更改的软件包名称列表

返回: 成功

示例: ["git", "git-cola"]

msg

字符串

缓存是否已更新

返回: 总是

示例: "已更改: 0, 未更改: 2"

unchanged_pkgs

列表 / 元素=字符串

在 community.general 0.2.0 中添加

模块运行后未更改的软件包名称列表

返回: 成功

示例: ["awscli", "ag"]

作者

  • Indrajit Raychaudhuri (@indrajitr)

  • Daniel Jaouen (@danieljaouen)

  • Andrew Dunham (@andrew-d)