RVM
Ruby enVironment Manager (RVM)
...RVM lets you deploy each project with its own completely self-contained and dedicated environment, from the specific version of ruby, all the way down to the precise set of required gems to run your application. Having a precise set of gems also avoids the issue of version conflicts between projects, which can cause difficult-to-trace errors and hours of hair loss. With RVM, no other gems than those required are installed. This makes working with multiple complex applications, where each has a long list of gem dependencies, much more efficient. RVM lets you easily test gem upgrades, by switching to a new clean set of gems to test with, while leaving your original set intact.