bundler-override

This bundler plugin allows to change dependencies for a gem. It can be helpful in situation when a developer needs to use some other dependency than default for the gem.

Requirements

Ruby >= 3.0 and Bundler >= 2.3.x are required. For detailed compatibility matrix please refer to test pipeline versions configuration.

Installation

For normal usage

bundle plugin install "bundler-override"

For development

  1. Clone this project to your disk.

  2. Install plugin from local git folder

Set proper path in place of 'PATH-TO-THE-FOLDER-WITH-PLUGIN' and run from terminal in your project folder:

bundle plugin install "bundler-override" --local-git PATH-TO-THE-FOLDER-WITH-PLUGIN/bundler-override/

Usage

  1. Add plugin entry to the Gemfile in your project:
plugin 'bundler-override'
require File.join(Bundler::Plugin.index.load_paths("bundler-override")[0], "bundler-override") rescue nil
  1. Add 'override' block to the Gemfile, e.g.:
override 'chef-config', :drop => ['chef-utils', 'mixlib-config']

or

override 'chef-config', :drop => 'mixlib-config', :requirements => {
  'chef-utils' => '17.10.68'
}

or

override 'chef-config', :requirements => {
  'chef-utils' => '17.10.68',
  'mixlib-config' => '2.0.0'
}

override

override is a command that allows to drop or replace dependency for a gem with desired version

drop

Takes a gem name or list of gem names to be totally dropped from the dependencies.

requirements

A map with gem versions to be used instead of the ones from the original dependencies.

License

The gem is available as open source under the terms of the Apache 2.0 License.