Skip to content
This repository

Ruby enVironment (Version) Manager ( rvm ) ~ Monitor GitHub Issues ( ) for bug reports and fixes. Fundraiser for mpapis:

branch: master
Octocat-spinner-32 bin remove the old bin/ wrappers, fix #2770 April 10, 2014
Octocat-spinner-32 binscripts reworked gemset initialization to support rvm_with_default_gems, fix #… December 31, 2013
Octocat-spinner-32 config Add JRuby-1.7.12 April 17, 2014
Octocat-spinner-32 contrib improve quoting and detecting handling root in unicorn init.d script September 24, 2013
Octocat-spinner-32 docs Remove +x bit from help files. Fixes #2636. February 19, 2014
Octocat-spinner-32 examples Added example for rvm_configure_flags for passing args to configure. November 04, 2011
Octocat-spinner-32 gem-cache use newer version of rvm gem January 29, 2014
Octocat-spinner-32 gemsets ruby 1.8.7 requires older rake March 26, 2014
Octocat-spinner-32 help Add --default usage explanation in help for use command. March 27, 2014
Octocat-spinner-32 hooks handle fact that RUBY_VERSION not being set in rvm's env March 21, 2014
Octocat-spinner-32 lib improve lib/gem error August 17, 2012
Octocat-spinner-32 man Changed documentation for switching to the default ruby August 15, 2013
Octocat-spinner-32 patches mofing around the cc_env.patch for osx_static March 23, 2014
Octocat-spinner-32 patchsets Update patchsets for Scientific support March 26, 2014
Octocat-spinner-32 rvm-test @ 12deffe update tests April 03, 2014
Octocat-spinner-32 rvm-test-rvm1 update tests to be faster, update #2735 March 26, 2014
Octocat-spinner-32 scripts openjdk instead of jdk for freebsd April 23, 2014
Octocat-spinner-32 .gems preparing travis-lint hook February 11, 2012
Octocat-spinner-32 .gitignore cleaning gitignore December 30, 2013
Octocat-spinner-32 .gitmodules use proper github url January 16, 2012
Octocat-spinner-32 .travis.yml set some LANG on travis when not set April 03, 2014
Octocat-spinner-32 Update March 13, 2014
Octocat-spinner-32 update formatting rules numbering July 20, 2013
Octocat-spinner-32 add NOEXEC_DISABLE=1 to the test invocation, fix wayneeseguin/rvm-tes… August 23, 2013
Octocat-spinner-32 History.txt Proper capitalization of Zsh June 07, 2013
Octocat-spinner-32 LICENCE add the Copyright in LICENCE November 30, 2013
Octocat-spinner-32 NEXT: 1.19.6 ready April 20, 2013
Octocat-spinner-32 README Remove srcdir since it doesn't work February 01, 2014
Octocat-spinner-32 README.rdoc -> README.rdoc March 04, 2012
Octocat-spinner-32 README.txt README. February 08, 2011
Octocat-spinner-32 Rakefile hoe -> .gemspec March 26, 2012
Octocat-spinner-32 VERSION 1.25.23 April 20, 2014
Octocat-spinner-32 install re-added install symlink. September 25, 2009
Octocat-spinner-32 add a step to link OSX binaries March 24, 2014

Master: Build Status Stable:Build Status



RVM is the Ruby enVironment Manager (rvm).

It manages Ruby application environments and enables switching between them.


curl -L | bash -s stable --autolibs=enabled [--ruby] [--rails] [--trace]


Install stable RVM, good for servers.


Additionally install latest ruby version (MRI).


Install gem rails into default gemset (also installs ruby=).


Print trace of the installation, gist output when you have problems.


Enable or disable autolibs see:

More details here:


rvm [Flags] [Options] Action [Implementation[,Implementation[,...]]



with 'rvm use X', sets the default ruby for new shells to X.


Toggle debug mode on for very verbose output.


Install from source instead of using binaries


Toggle trace mode on to see EVERYTHING rvm is doing.


Force install, removes old install & source before install.


Used with rubydo to print out a summary of the commands run.


with gemset –dump skips version strings for latest gem.


with uninstall/remove removes gems with the interpreter.


with install, attempt to generate ri after installation.


Force ./configure on install even if Makefile already exists.


with install, skip the installation of default gemsets.


Makes curl silent when fetching data



Emit rvm version loaded for current shell


patch level to use with rvm use / install


path for binaries to be placed (~/.rvm/bin/)


Specify a script file to attempt to load and run (rubydo)


Execute code from the command line.


Used to set the 'gems_flag', use with 'remove' to remove gems


Used to set the 'archive_flag', use with 'remove' to remove archive


With MRI Rubies you may specify one or more full paths to patches

for multiple, specify comma separated:

--patch /.../.../a.patch[%prefix],/.../.../.../b.patch

'prefix' is an optional argument, which will be bypassed to the '-p' argument of the 'patch' command. It is separated from patch file name with '%' symbol.


custom configure options. If you need to pass several configure options then append them comma separated:

-C --...,--...,--...


process niceness (for slow computers, default 0)


Options passed directly to ree's './installer' on the command line.


Specifies a string for rvm to attempt to expand for set operations.


(Note: for most actions, 'rvm help action-name' may provide more information.)


show this usage information


show the rvm version installed in rvm_path


setup current shell to use a specific ruby version


reload rvm source itself (useful after changing rvm source)


(seppuku) removes the rvm installation completely.

This means everything in $rvm_path (~/.rvm || /usr/local/rvm).

This does not touch your profiles. However, this means that you must manually clean up your profiles and remove the lines which source RVM.


{head,stable} upgrades rvm to latest head or stable version.

Check 'rvm help get' for more details.

(If you experience bugs try this first with head version, then ask for help in #rvm on and hang around)


remove current and stored default & system settings.

(If you experience odd behavior try this second)


show the current environment information for current ruby


print the current ruby version and the name of any gemset being used.


show info plus additional information for common issues


install one or many ruby versions

See also:


uninstall one or many ruby versions, leaves their sources


uninstall one or many ruby versions and remove their sources


reinstall ruby and runs gem pristine on all gems, make sure to read output, use 'all' for all rubies.


Lets you migrate all gemsets from one ruby to another.


Lets you upgrade from one version of a ruby to another, including migrating your gemsets semi-automatically.


generates a set of wrapper executables for a given ruby with the specified ruby and gemset combination. Used under the hood for passenger support and the like.


Lets you remove stale source folders / archives and other miscellaneous data associated with rvm.


Lets you repair parts of your environment e.g. wrappers, env files and and similar files (e.g. general maintenance).


Repairs broken permissions (e.g. by sudo or chef)


Helps update certificates for OpenSSL installed by rvm on OSX.


Lets you backup / restore an rvm installation in a lightweight manner.


Lets you set shortcut strings for convenience with 'rvm use'.


Tells you how much disk space rvm install is using.


Provides general information about the ruby environment, primarily useful when scripting rvm.


Tools to make installing ri and rdoc documentation easier.


Tools related to managing rvmrc trust and loading.


Tools related to managing ruby patchsets.


runs an arbitrary command against specified and/or all rubies


Manages setup for using ruby in cron tasks.




Switches the installed version of rubygems for the current ruby.


display values for RbConfig::CONFIG variables.


display the path to the current gem directory (GEM_HOME).


Performs an archive / src fetch only of the selected ruby.


show currently installed rubies, interactive output.


Controls settings for automatically installing dependencies.


Install a dependency package {readline,iconv,zlib,openssl}


Display notes, with operating system specifics.


Temporarily set an environment variable in the current shell.


Undo changes made to the environment by 'rvm export'.


Installs additional OS specific dependencies/requirements for building various rubies. Usually run by install.


Install rubies from external locations.


Tools for managing RVM mixed mode in multiuser installations.


Tools for managing groups in multiuser installations.



MRI/YARV Ruby (The Gold Standard) {1.8.6,1.8.7,1.9.1,1.9.2…}


JRuby, Ruby interpreter on the Java Virtual Machine.




Ruby Enterprise Edition, MRI Ruby with several custom patches for performance, stability, and memory.


MacRuby, insanely fast, can make real apps (Mac OS X Only).


GemStone Ruby, awesome persistent ruby object store.


IronRuby, NOT supported yet. Looking for volunteers to help.


use the system ruby (eg. pre-rvm state)


use the default ruby (or the system ruby if a default hasn't been set).



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


Copyright © 2009-2011 Wayne E. Seguin Copyright © 2011-2014 Michal Papis

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Something went wrong with that request. Please try again.