Skip to content

gem Operations

Manage Ruby gem packages. (see https://rubygems.org/ )

Facts used in these operations: gem.GemPackages.

gem.packages

Add/remove/update gem packages.

gem.packages(packages: 'str | list[str] | None' = None, present=True, latest=False,
         **kwargs,
    )
  • packages: list of packages to ensure
  • present: whether the packages should be installed
  • latest: whether to upgrade packages without a specified version

Versions: Package versions can be pinned like gem: <pkg>:<version>.

Example:

from pyinfra.operations import gem
# Note: Assumes that 'gem' is installed.
gem.packages(
    name="Install rspec",
    packages=["rspec"],
)

Global arguments

This operation also inherits all global arguments.