Where Does RVM Store Rubies and Gemsets?
RVM home directory with rubies, gemsets and config, and the single variable that moves it.
Last updated
RVM roots its entire world in a .rvm directory in your home: installed rubies, gemsets, wrappers, patches and its own config together. Shell integration loads from scripts inside it, which is why the installer edits your bashrc or zshrc rather than scattering files.
One variable governs the lot. Setting rvm_path before installation relocates everything, the supported route for small home partitions or shared setups. Mixed installs, where the loader comes from one place and rubies another, cause the classic ruby not found errors, so keep the tree together.
Where RVM stores this, by platform
~/.rvm
Subfolders include rubies, gems, wrappers and config. The installer appends sourcing lines to your shell rc pointing here. Move the whole tree at once with rvm_path set, never single subfolders out of it.
~/.rvm
Same layout as Linux for Homebrew based installs. System rubies stay untouched outside this tree, which is the point: RVM never fights the Apple shipped ruby when kept inside its own directory.
Frequently asked questions
how do i move rvm to another drive
Set rvm_path to the new location before installing anything, then move the directory there. Every ruby, gemset and wrapper script resolves from that variable, so one move migrates the whole toolchain.
can rvm use different rubies per project
Yes, but only per shell, not per project directory on its own. .ruby-version files pin the ruby automatically when you cd in, while gemsets need either .ruby-gemset files or explicit creation per project.
Notice an outdated path? Let us know.