RVM supports most UNIX like systems and Windows (with Cygwin or Bash on Ubuntu on Windows). The basic requirements are bash
, curl
, gpg2
and overall GNU version of tools - but RVM tries to autodetect it and install anything that is needed.
As a first step install GPG keys used to verify installation package:
In case you encounter an issues check security
To achieve mono audio for all sound on your PC, the third-party software has to install a virtual audio device. Applications on your PC output sound to the virtual audio device, the virtual audio device software mixes the stereo sound to mono, and mono audio comes out of your PC.
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.
Install RVM (development version):
Install RVM stable with ruby:
Additionally with rails (poor man's railsinstaller):
Or with jruby, rails and puma:
To install without rubygems-bundler and rvm gems (and also remove those gems from both global.gems and default.gems):
To install with hirb gem (and also add it to global.gems):
To install with rails and haml gems (and also add them to default.gems):
Without autolibs:
For a progress bar when downloading RVM / Rubies:
Point to be noted is, there is a backslash before curl. This prevents misbehaving if you have aliased it with configuration in your ~/.curlrc
file.
If you're an existing RVM user and you don't want RVM to attempt to setup your shell to load RVM, you can opt out of this at install time by exporting rvm_ignore_dotfiles=yes, or opt out permanently by setting this in your rvmrc.
There are three different ways to install and configure RVM.
get.rvm.io is a redirect to https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer You could also use full path for the installer:
I recommend you read the installation script yourself. This will give you a chance to understand what it is doing before installing, and allow you to feel more comfortable running it if you do so.
Installing the stable release version:
To get the latest development state:
Instruct RVM to not change the shell initializations files 'rc' / 'profile':
Please note that from this point it is user responsibility to add sourcing rvm to appropriate files.
For a Multi-User install you would execute the following:
Note: The Multi-User install instructions must be prefixed with the sudo
command. However, once the install is complete, and the instructions to add users to the rvm
group is followed, the use of either sudo
or rvmsudo
is no longer required. The sudo
command is only to temporarily elevate privileges so the installer can complete its work. If you need to use sudo
or rvmsudo
after the install is complete, some part of the install directions were not properly followed. This usually is because people execute the install asroot
, rather than executing the installation instructions from a non-privileged user account.
Installing a specific version:
Prefix the 'bash' portion with 'sudo', of course, if you wish to apply this to a Multi_user Install. Please feel free to check out our upgrading docs for more details on branch format.
Debugging installation process:
If the rvm install script complains about certificates you need to follow the displayed instructions.
If the install script is run as a standard, non-root user, RVM will install into the current users's home directory.
Modification of user configuration files (*rc
/ *profile
) - RVM by default will modify user startup files, although it is not recommended you can disable automated process and do this manually:
If the install script is run prefixed with sudo, RVM will automatically install into /usr/local/rvm
. Please see the troubleshooting page for an important note regarding Multi-User Installs.
Please see the FAQ page for an important note regardingroot only installs.
Note that that any outside tutorials are NOT supported whether they work or not. Tutorials are great, however we have spent massive amounts of man hours debugging the installation process. Please use the install process(es) from this site only, as this is the only supported installation types and methods.
It is safe to simply re-run the installation script again, or you can follow the upgrading docs.
The rvm function will be automatically configured for every user on the system if you install as single user. Read the output of installer to check which files were modified.
The rvm function will be automatically configured for every user on the system if you install with sudo. This is accomplished by loading /etc/profile.d/rvm.sh
on login. Most Linux distributions default to parsing /etc/profile which contains the logic to load all files residing in the /etc/profile.d/
directory. Once you have added the users you want to be able to use RVM to the rvm group, those users MUST log out and back in to gain rvm group membership because group memberships are only evaluated by the operating system at initial login time. Zsh not always sources /etc/profile
so you might need to add this in /etc/**/zprofile
:
${HOME}/.rvmrc
, logout and then relogin. Otherwise you won't be able to install/upgrade new rubies correctly.For each user that want to use RVM, an additional command needs to be run (once) for each user:
Gemsets created by these users will be hosted in their HOME directory. It's not possible to use global gemsets from system without using tricks like manually linking directories and they should not be used in mixed-mode. Please bear in mind that 'system' in this context does not refer to your distribution's ruby packages, but to the RVM Multi-User installation.
You have two possibilities to manage RVM. The first one is to add managers to the rvm group. The second one is to use separate managers with rvmsudo and privilege escalation. Note that it is not safe to use rvmsudo
from mixed mode user. Both can be mixed without any side-effect. It is however very important to not enable mixed-mode gemsets or rubies for the managers. RVM is using a custom umask
(umask u=rwx,g=rwx,o=rx
) when installing gemsets, rubies, updating itself, etc. This should not impact your system. But if you prefer to avoid RVM messing around with your umask, you can comment the umask line in /etc/rvmrc
.
This mode should also works with passenger, please follow passenger instructions. .
Close out your current shell or terminal session and open a new one (preferred). You may load RVM with the following command:
If installation and configuration were successful, RVM should now load whenever you open a new shell. This can be tested by executing the following command which should output rvm is a function
as shown below.
NOTE: Before reporting problems check rvm notes
as it might contain important information.
Below are some examples of how to install and use a Ruby under RVM.
Display a list of all known
rubies. NOTE: RVM can install many more Rubies not listed.
Install a version of Ruby (eg 2.1.1
):
Use the newly installed Ruby:
Check this worked correctly:
Optionally, you can set a version of Ruby to use as the default for new shells. Note that this overrides the 'system' ruby:
If you are new to RVM I recommend that you read the basics page. At the end of the basics page there are further links for getting started.
When you run
and got the notice
ca-certificates
need to be installed:
If you open a new shell and running:
does not show rvm is a function
, RVM isn't being sourced correctly.
Ensure that RVM is sourced after any path settings as RVM manipulates the path. If you don't do this, RVM may not work as expected.
If you are using GNOME on Red Hat, CentOS or Fedora, ensure that the Run command as login shell option is checked under the Title and Command tab in Profile Preferences. After changing this setting, you may need to exit your console session and start a new one before the changes take affect.