📖 Scenario: You are a developer who needs to work on multiple Ruby projects. Each project requires a different Ruby version. To manage this easily, you will learn how to use Ruby version managers like rbenv and rvm.
🎯 Goal: Learn how to install Ruby versions using rbenv and rvm, set a global Ruby version, and switch between versions for different projects.
📋 What You'll Learn
Install rbenv and rvm on your system
Install specific Ruby versions using rbenv and rvm
Set a global Ruby version with rbenv and rvm
Switch Ruby versions for a project using rbenv and rvm
💡 Why This Matters
🌍 Real World
Developers often need to work on multiple Ruby projects requiring different Ruby versions. Using rbenv or rvm helps manage these versions easily without conflicts.
💼 Career
Knowing Ruby version management is essential for Ruby developers, DevOps engineers, and anyone maintaining Ruby applications in professional environments.
Progress0 / 4 steps
1
Install Ruby versions using rbenv
Use rbenv install to install Ruby versions 3.1.2 and 2.7.6 on your system.
Ruby
Hint
Type rbenv install 3.1.2 and rbenv install 2.7.6 to install these Ruby versions.
2
Set global Ruby version with rbenv
Set the global Ruby version to 3.1.2 using rbenv global.
Ruby
Hint
Use rbenv global 3.1.2 to set the default Ruby version.
3
Install Ruby versions using rvm
Use rvm install to install Ruby versions 3.1.2 and 2.7.6 with rvm.
Ruby
Hint
Type rvm install 3.1.2 and rvm install 2.7.6 to install Ruby versions with rvm.
4
Set default Ruby version with rvm and verify versions
Set the default Ruby version to 3.1.2 using rvm use 3.1.2 --default. Then print the current Ruby version using ruby -v.
Ruby
Hint
Use rvm use 3.1.2 --default to set default Ruby version and ruby -v to check it.
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
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.
Step 2: Identify the main use
The main use is to switch Ruby versions easily without affecting other projects or the system Ruby.
Final Answer:
To switch between different Ruby versions easily -> Option D
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
Step 1: Recall rbenv commands
The command to set the global Ruby version in rbenv is rbenv global <version>.
Step 2: Match the correct command
Among the options, only rbenv global 3.1.2 correctly sets the global version.
Final Answer:
rbenv global 3.1.2 -> Option A
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
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.
Step 2: Predict the ruby version output
Running ruby -v in that directory will use Ruby 3.0.0, showing its version.
Final Answer:
ruby 3.0.0 (installed version) -> Option C
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
Step 1: Understand the error message
The error says 'RVM is not a function', which means the shell does not recognize RVM commands properly.
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.
Final Answer:
You did not load RVM as a shell function -> Option B
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
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.
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.
Final Answer:
rbenv install 3.2.0 rbenv local 3.2.0 -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.