Ruby Version Manager, often abbreviated as RVM, is a software platform for
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating systems designed to manage multiple installations of
Ruby
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum (aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapp ...
on the same device.
The entire Ruby environment including the Ruby interpreter, installed
RubyGems
RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a "gem"), a tool designed to easily manage the installation of gem ...
(gems), and documentation is partitioned. A developer can then switch between the different versions to work on several projects with different version requirements. In addition to
MRI, the standard Ruby interpreter, RVM functions as an installer for various other implementations of Ruby. These include
JRuby
JRuby is an implementation of the Ruby programming language atop the Java Virtual Machine, written largely in Java. It is free software released under a three-way EPL/ GPL/ LGPL license. JRuby is tightly integrated with Java to allow the embeddi ...
,
mruby,
MacRuby,
IronRuby,
Maglev
Maglev (derived from '' magnetic levitation''), is a system of train transportation that uses two sets of electromagnets: one set to repel and push the train up off the track, and another set to move the elevated train ahead, taking advantag ...
,
Rubinius, Ruby Enterprise Edition, Topaz, and GoRuby (an interpreter optimized for
code golf). In addition, RVM supports the installation of patched versions of MRI.
RVM provides features for organization of Ruby gems through "gemsets", collections of gems separated by a namespace and associated Ruby installation. Gemsets can be associated with directories/projects through the use of the RVM-exclusive
.rvmrc
file. An alternative to using the
.rvmrc
file (and the general purpose although user-specific
.jrubyrc
) and its format is use of the
.ruby-version
and
.ruby-gemset
files, which are compatible with other ruby version managers, such as
RBenv and
chruby. Additionally, using
.rvmrc
requires trusting to prevent execution of unauthorized code, while
.ruby-version
does not.
References
External links
*
*
Ruby (programming language)
{{Unix-stub