gem – Manage Ruby gems — Ansible Documentation

- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# gem – Manage Ruby gems

- Synopsis
- Parameters
- Examples
- Status

## Synopsis

- Manage installation and uninstallation of Ruby gems.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
build_flags - added in 2.0 |  | Allow adding build flags for gem compilation
env_shebang boolean added in 2.2 | Choices: no ← yes | Rewrite the shebang line on installed scripts to use /usr/bin/env.
executable - |  | Override the path to the gem executable
force boolean added in 2.8 | Choices: no ← yes | Force gem to install, bypassing dependency checks.
gem_source - |  | The path to a local gem used as installation source.
include_dependencies boolean | Choices: no yes ← | Whether to include dependencies or not.
include_doc boolean added in 2.0 | Choices: no ← yes | Install with or without docs.
install_dir - added in 2.6 |  | Install the gems into a specific directory. These gems will be independant from the global installed ones. Specifying this requires user_install to be false.
name - / required |  | The name of the gem to be managed.
pre_release boolean | Choices: no ← yes | Allow installation of pre-release versions of the gem.
repository - |  | The repository from which the gem will be installed aliases: source
state - | Choices: present ← absent latest | The desired state of the gem. `latest` ensures that the latest version is installed.
user_install boolean | Choices: no yes ← | Install gem in user's local gems cache or for all users
version - |  | Version of the gem to be installed/removed.

## Examples

    # Installs version 1.0 of vagrant.
    - gem:
        name: vagrant
        version: 1.0
        state: present

    # Installs latest available version of rake.
    - gem:
        name: rake
        state: latest

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

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Ansible Core Team
- Johan Wiren (@johanwiren)

Hint

If you notice any issues in this documentation you can edit this document to improve it.