Shell Other
eregon and havenwood Remove early check for LLVM with TruffleRuby
* TruffleRuby already checks later and looks up more paths to find
  the LLVM executables clang and opt.
* See oracle/truffleruby#1386.
Latest commit a48ee22 Jul 10, 2018
Permalink
Failed to load latest commit information.
.github Improved new issue template Feb 2, 2017
bin Add TruffleRuby to rvm Jun 17, 2018
binscripts Fix RVM folder cleanup during installation (#4333) Mar 31, 2018
config Updates and fixes to switch to new JRuby binary URL. (#4420) Jul 2, 2018
contrib SSL/TLSize all the things! (convert http:// and git:// to https:// wh… Jan 21, 2016
docs Add a method to output multi-colored messages (#4044) Oct 24, 2017
examples Fix "feature" typo (#4405) Jun 12, 2018
gem-cache Simplified wrapper command, closes #4180 (#4184) Sep 23, 2017
gemsets Add bundler to list of default gems (#4413) Jul 1, 2018
help Add install from tag (#4360) Jun 17, 2018
hooks Remove references to mpapis from places when they were not needed or … May 12, 2017
lib improve lib/gem error Aug 16, 2012
man/man1 Add TruffleRuby to rvm Jun 17, 2018
patches Extend ruby 798 patch to ruby 2.2 versions that don't have it. (#4364) Apr 18, 2018
patchsets Extend ruby 798 patch to ruby 2.2 versions that don't have it. (#4364) Apr 18, 2018
rvm-test @ e0543e9 Add a method to output multi-colored messages (#4044) Oct 24, 2017
rvm-test-rvm1 Update tests with newest ruby for fastr run Sep 2, 2017
scripts Remove early check for LLVM with TruffleRuby Jul 10, 2018
.editorconfig .editorconfig setup (for those editors which supports it) Feb 7, 2018
.gems preparing travis-lint hook Feb 11, 2012
.github_changelog_generator Completely new format of CHANGELOG with changes for version 1.28.0 Dec 19, 2016
.gitignore Reorganizing information in README to be more readable and clean Oct 27, 2016
.gitmodules Fix Travis build on OSX (timeout) and Linux (missing gpg2) (#3887) Jan 24, 2017
.travis.yml Add a method to output multi-colored messages (#4044) Oct 24, 2017
CHANGELOG.md Remove early check for LLVM with TruffleRuby Jul 10, 2018
CODE_OF_CONDUCT.md Add conduct@rvm.io and update the wording Apr 14, 2015
CONTRIBUTING.md Link to a more recent and correct example in CONTRIBUTING.md Jul 2, 2018
FORMATTING.md Alter phrasing in FORMATTING.md (#4093) Jul 6, 2017
HACKING.md updated the repo from wayneeseguin/rvm to rvm/rvm Apr 13, 2015
LICENSE Update project and maintainers dates (2017) Jan 26, 2017
README.md Add TruffleRuby to rvm Jun 17, 2018
Rakefile hoe -> .gemspec Mar 26, 2012
VERSION 1.29.4 Jul 1, 2018
install re-added install symlink. Sep 25, 2009
sign-releases.sh updated the repo from wayneeseguin/rvm to rvm/rvm Apr 13, 2015
update-remote.sh Fixing rvm.io ssh path (#3692) Jun 8, 2016

README.md

Stable      Master

What's RVM

RVM is the acronym of Ruby enVironment Manager. It manages Ruby application environments and enables switching between them.

Homepage and more info at https://rvm.io

Table of Contents

Installing RVM

Ubuntu

RVM have dedicated Ubuntu package, so please follow instructions posted here: https://github.com/rvm/ubuntu_rvm

If you need a different (newer) version of RVM, after installing base version of RVM check the Upgrading section below.

Any other operating system

Make sure you have following required packages installed:

  • curl
  • gpg2

And then run:

\curl -sSL https://get.rvm.io | bash -s stable

Additional installation options

Additional installation options and details about the installation process are described here: https://rvm.io/rvm/install

Upgrading RVM

You can upgrade RVM any time by running:

rvm get VERSION

Where VERSION should be replaced by one of the following values:

  • stable - latest stable RVM (good for servers)
  • master - latest RVM (might not be stable)
  • branch /path/branch - branched version of RVM (for testing new features or bug fixes)

Additional upgrading options are described here: https://rvm.io/rvm/upgrading

Basic RVM usage

Basic RVM usage scenarios include installing and switching between different ruby versions.

Installing ruby

To install ruby you have to call rvm install INTERPRETER[-VERSION] OPTIONS

When no version specified, RVM will install latest stable version or selected interpreter. If you omit to specify interpreter, RVM will assume that you wanted to install MRI ruby. Following examples would have exactly the same effect:

rvm install ruby-2.3.1
rvm install ruby-2.3
rvm install 2.3.1
rvm install 2.3

Passing additional --default option makes selected ruby your default.

We currently supported following ruby interpreters:

  • ruby - MRI ruby (The Gold Standard)
  • ironruby - a .NET ruby
  • jruby - Java implementation of the ruby
  • macruby - implementation of ruby 1.9 directly on top of macOS core technologies
  • maglev - 64-bit implementation on top of VMware's GemStone
  • mruby - lightweight ruby
  • opal - ruby to JavaScript compiler
  • rbx - Rubinius - a next generation virtual machine VM for ruby
  • topaz - high performance ruby, written in RPython
  • truffleruby - high performance ruby using GraalVM

Historical interpreters which you can still install with RVM, but are not anymore developed and supported by their authors:

  • ree - Ruby Enterprise Edition - MRI Ruby with several custom patches for performance, stability, and memory

Switching between ruby versions

To switch between ruby versions you should call

rvm use INTERPRETER[-VERSION]

Same rules and options apply as for install command with two special interpreters.

  • default - default ruby (or the system ruby if a default hasn't been set)
  • system - system ruby (state before RVM was installed)

Additionally you might want list your preferred ruby version in .ruby-version file stored in your project folder. This would cause automatic switch to selected ruby whenever you enter the folder.

Other RVM commands

RVM comes bundled with many different tools for managing your ruby environment. More detailed information about every commands listed below can be read after executing rvm help COMMAND or browsing documentation on RVM homepage https://rvm.io.

Reporting issues

Here at RVM we get a high amount of bug reports, and often they are connected with specific environment settings which might be hard for us to replicate. That's why we would kindly ask you to follow the steps below so we can maximize our time helping you and minimize the time requesting more information.

Check documentation

We know, you hear this over and over and be rest assured we are working hard to improve the usability of https://rvm.io but we must always ask that you first please check the documentation if you are requesting a feature or if you are not sure if you did it right.

Try again with latest RVM

We try to release a new RVM as soon as we feel that we achieved certain stability. This might take a while and it could be the case that your issue has been already resolved in our development branch. Please get the latest RVM and try again:

rvm get master

File an issue

If the documentation is not clear, an error message is not clear or you are stuck with the problem, please do file a bug.

When in doubt as to whether your issue might relate to another, simply file a new bug, and we will mark it as duplicate if it needs to be. It's always better to file a new ticket and let us sort it out than to accidentally add noise to another ticket.

For filing issues, we have prepared a template for you to use. Please try to fill all sections as best as you can. Always make sure to split up each command and its output into its own fenced code block. If the output is long, please put it in a separate gist. Otherwise it's hard for us to process all the information and respond quickly.

Note that if there is a lot of debug or trace output you can redirect it to a file with the > character like rvm [command] > output.txt.

Contributing

You are very warmly welcome to help. Please follow our contribution guidelines

Any and all contributions offered in any form, past present or future are understood to be in complete agreement and acceptance with our Apache License v2.0.

License

Copyright (C) Michal Papis (2011-2017), Piotr Kuczynski (2016-2017), Wayne E. Seguin (2009-2011)

Licensed under the Apache License, Version 2.0