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

Documentation

# bundler – Manage Ruby Gem dependencies with Bundler

- Synopsis

- Parameters

- Examples

- Status

## Synopsis

- Manage installation and Gem version dependencies for Ruby using the Bundler gem

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
binstub_directory - |  | Only applies if state is `present`. Specifies the directory to install any gem bins files to. When executed the bin files will run within the context of the Gemfile and fail if any required gem dependencies are not installed. If `chdir` is set then this path is relative to `chdir`
chdir - | Default: "temporary working directory" | The directory to execute the bundler commands from. This directory needs to contain a valid Gemfile or .bundle/ directory
clean boolean | Choices: no ← yes | Only applies if state is `present`. If set removes any gems on the target host that are not in the gemfile
deployment_mode boolean | Choices: no ← yes | Only applies if state is `present`. If set it will install gems in ./vendor/bundle instead of the default location. Requires a Gemfile.lock file to have been created prior
exclude_groups - |  | A list of Gemfile groups to exclude during operations. This only applies when state is `present`. Bundler considers this a 'remembered' property for the Gemfile and will automatically exclude groups in future operations even if `exclude_groups` is not set
executable - |  | The path to the bundler executable
extra_args - |  | A space separated string of additional commands that can be applied to the Bundler command. Refer to the Bundler documentation for more information
gem_path - | Default: "RubyGems gem paths" | Only applies if state is `present`. Specifies the directory to install the gems into. If `chdir` is set then this path is relative to `chdir`
gemfile - | Default: "Gemfile in current directory" | Only applies if state is `present`. The path to the gemfile to use to install gems.
local boolean | Choices: no ← yes | If set only installs gems from the cache on the target host
state - | Choices: present ← latest | The desired state of the Gem bundle. `latest` updates gems to the most recent, acceptable version
user_install boolean | Choices: no yes ← | Only applies if state is `present`. Installs gems in the local user's cache or for all users

## Examples

    # Installs gems from a Gemfile in the current directory
    - bundler:
        state: present
        executable: ~/.rvm/gems/2.1.5/bin/bundle

    # Excludes the production group from installing
    - bundler:
        state: present
        exclude_groups: production

    # Install gems into ./vendor/bundle
    - bundler:
        state: present
        deployment_mode: yes

    # Installs gems using a Gemfile in another directory
    - bundler:
        state: present
        gemfile: ../rails_project/Gemfile

    # Updates Gemfile in another directory
    - bundler:
        state: latest
        chdir: ~/rails_project

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Tim Hoiberg (@thoiberg)

Hint

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