RVM is maintained by community of volunteers, report issues to RVM issues tracker.
If you can help or wish to become one of the maintainers - just start helping. You can find more RVM related projects at RVM Github organization.
Carbon Ads


∴ rvm [all|all-gemsets|<ruby>,...|<path>] [--verbose|--summary|--yaml|--json] do <command> ...
∴ rvm in <path> do <some-command> ...
∴ rvm-exec [all|all-gemsets|<ruby>,...|<path>] [--verbose|--summary|--yaml|--json] <command> ...

Executes arbitrary commands against given a set of rvm environments. Without additional flags it will exec the command directly without printing out extra rvm information.




If using the set do operation when scripting, use rvm-exec (usually installed to ~/.rvm/bin/rvm-exec). Using ~/.rvm/bin/rvm instead will cause RVM to spawn a bash shell, which is undesireable in the context of process monitoring.


To execute ruby -v against all installed rubies and aliases, you would run:

∴ rvm all do ruby -v

If you want to execute it against a specific ruby (without extra logging / data printed by rvm as is done with normal set operations), you can instead do:

∴ rvm ree do ruby -v

Since it is a set operation, normal ruby specifiers will work. As an example, to run gem list against 2.0.0 and 2.1.1 and prefix with ruby name, you would run:

∴ rvm 2.1.1,2.0.0 --verbose do gem list

Or, to execute gem env against all gemsets:

∴ rvm all-gemsets do gem env

To execute which ruby in the current directory, loading a .rvmrc:

∴ rvm . do which ruby

To execute rake test in the project directory, loading a .rvmrc:

∴ rvm in /path/to/project do rake test

For more information, refer to the rvm set operations.