Bird
Raised Fist0
Rubyprogramming~10 mins

Ruby version management (rbenv, rvm) - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Ruby version management (rbenv, rvm)
Install rbenv or rvm
↓
Initialize environment
↓
List available Ruby versions
↓
Install chosen Ruby version
↓
Set global or local Ruby version
↓
Use Ruby version in shell
↓
Run Ruby programs with selected version
This flow shows how you install and use rbenv or rvm to manage Ruby versions step-by-step.
Execution Sample
Ruby
rbenv install 3.1.2
rbenv global 3.1.2
ruby -v
This code installs Ruby 3.1.2, sets it as the global version, then shows the Ruby version in use.
Execution Table
StepCommandActionResult/Output
1rbenv install 3.1.2Downloads and installs Ruby 3.1.2Ruby 3.1.2 installed
2rbenv global 3.1.2Sets Ruby 3.1.2 as global versionGlobal Ruby version set to 3.1.2
3ruby -vChecks current Ruby versionruby 3.1.2p0 (output depends on exact patch)
4exitEnd of commandsExecution stops
💡 All commands executed; Ruby version 3.1.2 is active globally
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3Final
Ruby version installednone3.1.2 installed3.1.2 installed3.1.2 installed3.1.2 installed
Global Ruby versiondefault system Rubydefault system Ruby3.1.23.1.23.1.2
Current Ruby version (ruby -v)default system Rubydefault system Ruby3.1.23.1.23.1.2
Key Moments - 3 Insights
Why does 'ruby -v' show the system Ruby version before setting global version?
Before running 'rbenv global 3.1.2', the shell uses the default system Ruby. The execution_table row 3 shows the version after setting global version.
What happens if you install a Ruby version but don't set it as global or local?
The installed Ruby version is available but not used by default. The shell continues using the previous Ruby version until you set it, as shown between steps 1 and 2.
How does rbenv or rvm know which Ruby version to use?
They modify environment variables and shims so that when you run 'ruby', the selected version runs. This is reflected in the change of 'Global Ruby version' in variable_tracker after step 2.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the output of 'ruby -v' at step 3?
Aruby 3.1.2p0
Bruby 2.7.0
CCommand not found
Druby 3.0.0
💡 Hint
Check the 'Result/Output' column for step 3 in execution_table.
At which step is the global Ruby version set to 3.1.2?
AStep 1
BStep 3
CStep 2
DStep 4
💡 Hint
Look at the 'Action' column in execution_table to find when global version changes.
If you skip 'rbenv global 3.1.2', what Ruby version will 'ruby -v' show at step 3?
A3.1.2
BSystem default Ruby
CNo Ruby version
DError message
💡 Hint
Refer to variable_tracker for 'Global Ruby version' before step 2.
Concept Snapshot
Ruby version management lets you install and switch Ruby versions easily.
Use rbenv or rvm to install versions.
Set global or local version to choose which Ruby runs.
Check with 'ruby -v' to confirm active version.
This helps run different projects with different Ruby versions.
Full Transcript
This visual trace shows how Ruby version managers like rbenv or rvm work step-by-step. First, you install a Ruby version using a command like 'rbenv install 3.1.2'. Then you set that version as the global default with 'rbenv global 3.1.2'. Finally, running 'ruby -v' shows the active Ruby version, confirming the switch. Variables track the installed Ruby versions and which one is active globally. Key moments clarify why the Ruby version changes only after setting global version and how the environment is configured. The quiz tests understanding of these steps and outputs. This helps beginners see how Ruby version management commands affect the environment and Ruby version used.

Practice

(1/5)
1. What is the main purpose of using Ruby version managers like rbenv or rvm?
easy
A. To debug Ruby code automatically
B. To write Ruby code faster
C. To compile Ruby programs into executables
D. To switch between different Ruby versions easily

Solution

  1. Step 1: Understand Ruby version managers

    Ruby version managers like rbenv and rvm allow you to install and switch between multiple Ruby versions on the same machine.
  2. Step 2: Identify the main use

    The main use is to switch Ruby versions easily without affecting other projects or the system Ruby.
  3. Final Answer:

    To switch between different Ruby versions easily -> Option D
  4. Quick Check:

    Ruby version managers help switch versions = D [OK]
Hint: Remember: rbenv and rvm manage Ruby versions [OK]
Common Mistakes:
  • Thinking they speed up coding
  • Confusing with debugging tools
  • Assuming they compile Ruby code
2. Which of the following commands correctly sets the global Ruby version to 3.1.2 using rbenv?
easy
A. rbenv global 3.1.2
B. rbenv use 3.1.2
C. rbenv set 3.1.2
D. rbenv switch 3.1.2

Solution

  1. Step 1: Recall rbenv commands

    The command to set the global Ruby version in rbenv is rbenv global <version>.
  2. Step 2: Match the correct command

    Among the options, only rbenv global 3.1.2 correctly sets the global version.
  3. Final Answer:

    rbenv global 3.1.2 -> Option A
  4. Quick Check:

    Set global version = rbenv global [OK]
Hint: Use 'rbenv global' to set Ruby version globally [OK]
Common Mistakes:
  • Using 'rbenv use' which is invalid
  • Confusing 'set' or 'switch' commands
  • Not specifying the version number
3. Given the following commands run in order:
rbenv install 3.0.0
rbenv local 3.0.0
ruby -v
What will be the output of ruby -v?
medium
A. ruby 2.7.0 (system default)
B. Command not found error
C. ruby 3.0.0 (installed version)
D. ruby 3.1.0 (latest version)

Solution

  1. Step 1: Understand the commands

    rbenv install 3.0.0 installs Ruby 3.0.0. rbenv local 3.0.0 sets the Ruby version to 3.0.0 for the current directory.
  2. Step 2: Predict the ruby version output

    Running ruby -v in that directory will use Ruby 3.0.0, showing its version.
  3. Final Answer:

    ruby 3.0.0 (installed version) -> Option C
  4. Quick Check:

    Local version set to 3.0.0 means ruby -v shows 3.0.0 [OK]
Hint: Local version overrides system Ruby version [OK]
Common Mistakes:
  • Assuming system default Ruby is used
  • Expecting latest Ruby version output
  • Thinking command will fail without global set
4. You run rvm use 2.7.0 but get the error: RVM is not a function, selecting rubies with 'rvm use ...' will not work.
What is the most likely cause?
medium
A. RVM is not installed
B. You did not load RVM as a shell function
C. Ruby 2.7.0 is not installed
D. You need to restart your computer

Solution

  1. Step 1: Understand the error message

    The error says 'RVM is not a function', which means the shell does not recognize RVM commands properly.
  2. Step 2: Identify cause

    This usually happens if the RVM script is not sourced in the shell, so RVM commands are not loaded as functions.
  3. Final Answer:

    You did not load RVM as a shell function -> Option B
  4. Quick Check:

    Load RVM script in shell to fix 'not a function' error [OK]
Hint: Always source RVM script in your shell config [OK]
Common Mistakes:
  • Assuming RVM is not installed at all
  • Thinking Ruby version is missing
  • Restarting computer unnecessarily
5. You want to create a project that uses Ruby 3.2.0 but your system default is Ruby 2.6.3. Using rbenv, which sequence of commands correctly sets up your project to use Ruby 3.2.0 locally without affecting other projects?
hard
A. rbenv install 3.2.0
rbenv local 3.2.0
B. rbenv local 3.2.0
rbenv install 3.2.0
C. rbenv install 3.2.0
rbenv global 3.2.0
D. rbenv global 3.2.0
rbenv install 3.2.0

Solution

  1. Step 1: Install Ruby 3.2.0 first

    You must install Ruby 3.2.0 before using it. So rbenv install 3.2.0 is first.
  2. Step 2: Set local version for project

    To use Ruby 3.2.0 only in the project folder, use rbenv local 3.2.0. This does not affect other projects or the global version.
  3. Final Answer:

    rbenv install 3.2.0
    rbenv local 3.2.0
    -> Option A
  4. Quick Check:

    Install then set local version for project isolation [OK]
Hint: Install Ruby first, then set local version for project [OK]
Common Mistakes:
  • Setting global version instead of local
  • Setting local version before installing Ruby
  • Assuming global affects only one project
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard