LinuxmacOS

Where Does RVM Store Rubies and Gems?

Where RVM keeps rubies, gemsets, wrappers, and config in ~/.rvm on Unix systems.

Last updated

RVM roots everything at ~/.rvm: rubies/ for interpreters, gems/ for gemsets, archives/ for downloads, wrappers/ for shims, and config/ for behavior. Shell profiles source scripts/rvm on startup.

Mixed installs with rbenv or system Ruby cause the classic gem-not-found confusion. Check which ruby and gem env home before reinstalling anything. RVM-managed gems never belong in the system gem path.

Where RVM stores this, by platform

Linux
~/.rvm/

Rubies, gemsets, archives, wrappers, config. Shell integration via scripts/rvm. Mixed rbenv installs cause gem confusion; verify which ruby first.

macOS
~/.rvm/

Same layout. macOS needs Xcode CLT plus openssl/readline via Homebrew for building rubies; the tree location is identical.

Frequently asked questions

How do I remove an old Ruby?

Run rvm remove <ruby> or delete the rubies/<name> folder, then clean orphaned gemsets under gems/. Keep archives/ prunable; tarballs re-download. Never delete the whole tree while shells source its scripts.

How do per-project versions work?

Per-project .ruby-version plus .ruby-gemset files in the project root pin both. RVM reads them on cd with shell hooks. The rubies and gems themselves stay centralized under ~/.rvm regardless of project.

Notice an outdated path? Let us know.