1

As title, python use virtualenv to isolate pip libraries for each python application. Ruby has gem, how does it prevent library version conflicts without a virtual environment.

ithelloworld
  • 2,207
  • 4
  • 16
  • 16

1 Answers1

2

bundler is generally used to lock dependency versions for a project (e.g. the gem versions). rbenv and rvm (there are several others too) are two common approaches to managing multiple versions of Ruby. A feature these provide (at least rvm does) is gemsets: these are a way to isolate your gem directories (so you may have a default gemset and a edge gemset or something; I don't find these very useful so I apologize for the bad examples).

In general bundler is usually seen as the "good enough" solution to isolating dependencies and gemsets don't seem to be used all that often anymore.

Josh Bodah
  • 1,223
  • 6
  • 17