community.general.cargo 模块 – 使用 cargo 管理 Rust 包

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

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

community.general 4.3.0 中的新功能

概要

  • 使用 cargo 管理 Rust 包。

要求

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

  • 已安装 cargo

参数

参数

注释

directory

路径

在 community.general 9.1.0 中添加

要从中安装 Rust 包的源目录的路径。

这仅在安装软件包时使用。

executable

路径

在 community.general 7.5.0 中添加

系统中安装的 cargo 的路径。

如果未指定,该模块将在 PATH 中查找 cargo

locked

布尔值

在 community.general 7.5.0 中添加

使用锁定的依赖项安装。

这仅在安装软件包时使用。

选项

  • false ←(默认)

  • true

name

列表 / 元素=字符串 / 必需

要安装的 Rust 包的名称。

路径

路径

-> 安装 Rust 包的基本路径。Cargo 会自动追加 /bin。换句话说,/usr/local 将变为 /usr/local/bin

state

字符串

Rust 包的状态。

选项

  • "present" ←(默认)

  • "absent"

  • "latest"

version

字符串

-> 要安装的版本。如果 name 包含多个值,则该模块将尝试安装此版本中的所有值。

属性

属性

支持

描述

check_mode

支持:完全

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

diff_mode

支持:

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

示例

- name: Install "ludusavi" Rust package
  community.general.cargo:
    name: ludusavi

- name: Install "ludusavi" Rust package with locked dependencies
  community.general.cargo:
    name: ludusavi
    locked: true

- name: Install "ludusavi" Rust package in version 0.10.0
  community.general.cargo:
    name: ludusavi
    version: '0.10.0'

- name: Install "ludusavi" Rust package to global location
  community.general.cargo:
    name: ludusavi
    path: /usr/local

- name: Remove "ludusavi" Rust package
  community.general.cargo:
    name: ludusavi
    state: absent

- name: Update "ludusavi" Rust package its latest version
  community.general.cargo:
    name: ludusavi
    state: latest

- name: Install "ludusavi" Rust package from source directory
  community.general.cargo:
    name: ludusavi
    directory: /path/to/ludusavi/source

作者

  • Radek Sprta (@radek-sprta)