Documentation
gem
Manage Ruby gems with the gem package manager.
Attributes
check_mode:
support: full
Parameters
| Parameter | Required | Type | Values | Description |
|---|---|---|---|---|
| executable | string | Path of the binary to use. [default: "gem"] |
||
| extra_args | string | Additional options to pass to gem. | ||
| name | array | Name or list of names of the gem(s) to install, upgrade, or remove. | ||
| state | string | absent present latest |
Whether to install (present), remove (absent), or ensure latest version (latest). present will simply ensure that a desired gem is installed. absent will remove the specified gem. latest will update the specified gem to the latest version. [default: "present"] |
|
| version | string | Version of the gem to install/upgrade. Can be a specific version or a constraint (e.g., “>= 1.0”, “~> 2.0”). | ||
| user_install | boolean | Install gem in user’s home directory. When false, installs to system-wide gem directory (may require root). [default: true] |
||
| pre_release | boolean | Allow installation of pre-release versions. [default: false] |
||
| gem_source | string | Custom gem source (repository URL). | ||
| bundler | boolean | Use bundler instead of gem command. When true, runs bundle install for Gemfile management. [default: false] |
||
| chdir | string | Directory to run bundler from (for Gemfile location). Only used when bundler is true. | ||
| include_dependencies | boolean | Include dependencies when installing. [default: true] |
||
| install_dir | string | Custom installation directory for gems. |
Example
- name: Install a gem
gem:
name: bundler
state: present
- name: Install specific version of a gem
gem:
name: rails
version: "7.0.0"
state: present
- name: Install gem with version constraint
gem:
name: rake
version: ">= 13.0"
state: present
- name: Install gem to user directory
gem:
name: rubocop
user_install: true
- name: Install pre-release version
gem:
name: some_gem
pre_release: true
- name: Install from specific source
gem:
name: private_gem
gem_source: https://gems.example.com
- name: Install gems from Gemfile
gem:
bundler: true
chdir: /app
- name: Remove a gem
gem:
name: rails
state: absent
- name: Update gem to latest version
gem:
name: bundler
state: latest