Jump to content

Ruby Version Manager

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 119.17.160.225 (talk) at 11:38, 16 November 2017. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Ruby Version Manager
Developer(s)Wayne E. Seguin, Michal Papis
Stable release
1.29.3 / September 11, 2017; 7 years ago (2017-09-11)
Repository
Written inBash, Ruby[1]
Operating systemUnix-like
LicenseApache License 2.0
Websitervm.io

Ruby Version Manager, often abbreviated as RVM, is a unix-like software platform designed to manage multiple installations of Ruby on the same device.[2]

The entire ruby environment including the Ruby interpreter, installed RubyGems, 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, mruby, MacRuby, IronRuby, Maglev, 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.[3]

References

  1. ^ "rvm / RubyGems.org". Retrieved 2016-05-30.
  2. ^ Thomas, Dave (2011). Programming Ruby 1.9 (Version 4.1 ed.). The Pragmatic Programmer.
  3. ^ https://rvm.io/workflow/projects