"If you work on multiple Ruby projects concurrently,
you’re probably accustomed to juggling gems. One project
requires one batch of gems; another effort depends on a different
set; and a third project utilitizes a specific legacy gem.
Thankfully, the Ruby gem system can maintain multiple versions of
the same gem in a single repository, making much of this task easy.
If you need an explicit version of a gem (or any late model
version, such as 3.x), simply install the code you need and name
"But what if you want to test your code with different versions
of the same gem? Worse, what if each variant of the gem depends on
multiple versions of other gems? Soon you are wrestling with a
morass of interdependencies and no effective technique to enforce
and ensure revision locking among any prescribed subset.
"One solution is a virtual machine per configuration. Create a
base image and create an instance for each permutation.
That’s workable, albeit very time-consuming to establish and
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.