community.general.gem module – Manage Ruby gems

Note

This module is part of the community.general collection (version 4.8.3).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.gem.

Synopsis

  • Manage installation and uninstallation of Ruby gems.

Parameters

Parameter

Comments

bindir

path

added in 3.3.0 of community.general

Install executables into a specific directory.

build_flags

string

Allow adding build flags for gem compilation

env_shebang

boolean

Rewrite the shebang line on installed scripts to use /usr/bin/env.

Choices:

  • no ← (default)

  • yes

executable

path

Override the path to the gem executable

force

boolean

Force gem to install, bypassing dependency checks.

Choices:

  • no ← (default)

  • yes

gem_source

path

The path to a local gem used as installation source.

include_dependencies

boolean

Whether to include dependencies or not.

Choices:

  • no

  • yes ← (default)

include_doc

boolean

Install with or without docs.

Choices:

  • no ← (default)

  • yes

install_dir

path

Install the gems into a specific directory. These gems will be independent from the global installed ones. Specifying this requires user_install to be false.

name

string / required

The name of the gem to be managed.

norc

boolean

added in 3.3.0 of community.general

Avoid loading any .gemrc file. Ignored for RubyGems prior to 2.5.2.

The current default value will be deprecated in community.general 5.0.0: if the value is not explicitly specified, a deprecation message will be shown.

From community.general 6.0.0 on, the default will be changed to true.

Choices:

  • no ← (default)

  • yes

pre_release

boolean

Allow installation of pre-release versions of the gem.

Choices:

  • no ← (default)

  • yes

repository

aliases: source

string

The repository from which the gem will be installed

state

string

The desired state of the gem. latest ensures that the latest version is installed.

Choices:

  • present ← (default)

  • absent

  • latest

user_install

boolean

Install gem in user’s local gems cache or for all users

Choices:

  • no

  • yes ← (default)

version

string

Version of the gem to be installed/removed.

Examples

- name: Install version 1.0 of vagrant
  community.general.gem:
    name: vagrant
    version: 1.0
    state: present

- name: Install latest available version of rake
  community.general.gem:
    name: rake
    state: latest

- name: Install rake version 1.0 from a local gem on disk
  community.general.gem:
    name: rake
    gem_source: /path/to/gems/rake-1.0.gem
    state: present

Authors

  • Ansible Core Team

  • Johan Wiren (@johanwiren)