Uninstall RVM – do the following
unset GEM_HOME
rvm implode
rm -rf ~/.rvm
sudo rm -rf /usr/share/rvm
sudo rm /etc/profile.d/rvm.sh
sudo rm /etc/rvmrc
sudo rm ~/.rvmrc
vim ~/.zshrc # or ~/.bash_profile related to machine/software you use and remove rvm related lines
Install RVM:
sudo apt-get install build-essential
unset rvm_path
sudo apt install gnupg2
Goto https://rvm.io/rvm/install and add gpg keys to verify
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
\curl -sSL https://get.rvm.io | bash -s stable
If the following error occurs while adding keys:
➜ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
gpg: connecting dirmngr at '/run/user/1000/gnupg/S.dirmngr' failed: IPC connect call failed
gpg: keyserver receive failed: No dirmngr
then do:
sudo apt-get update
then you will get some errors regarding the keys, add those keys to following command:
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
then do:
\curl -sSL https://get.rvm.io | bash -s stable
Make sure that your ~/.bash_profile or ~/.zshrc file contains the following lines to load rvm to the shell:
# RVM manual script for loading rvm to shell
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
After installing check RVM by:
➜ rvm list
# No rvm rubies installed yet. Try 'rvm help install'.
➜ rvm install 2.7.2
Searching for binary rubies, this might take some time.
Found remote file https://rubies.travis-ci.org/ubuntu/18.04/x86_64/ruby-2.7.2.tar.bz2
Checking requirements for ubuntu.
Requirements installation successful.
ruby-2.7.2 - #configure
ruby-2.7.2 - #download
..............
No checksum for downloaded archive, recording checksum in user configuration.
ruby-2.7.2 - #validate archive
ruby-2.7.2 - #extract
ruby-2.7.2 - #validate binary
ruby-2.7.2 - #setup
ruby-2.7.2 - #gemset created ~/.rvm/gems/ruby-2.7.2@global
ruby-2.7.2 - #importing gemset ~/.rvm/gemsets/global.gems..................................
ruby-2.7.2 - #generating global wrappers.......
ruby-2.7.2 - #gemset created ~/.rvm/gems/ruby-2.7.2
ruby-2.7.2 - #importing gemsetfile ~/.rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.7.2 - #generating default wrappers.......
➜ rvm list
=* ruby-2.7.2 [ x86_64 ]
# => - current
# =* - current && default
# * - default
➜ rvm gemset list
gemsets for ruby-2.7.2 (found in ~/.rvm/gems/ruby-2.7.2)
=> (default)
global
➜ rvm gemset create foobar
ruby-2.7.2 - #gemset created ~/.rvm/gems/ruby-2.7.2@foobar
ruby-2.7.2 - #generating foobar wrappers.......
➜ rvm gemset list
gemsets for ruby-2.7.2 (found in ~/.rvm/gems/ruby-2.7.2)
=> (default)
foobar
global
➜ rvm gemset use foobar
Using ruby-2.7.2 with gemset foobar
➜ rvm gemset list
gemsets for ruby-2.7.2 (found in ~/.rvm/gems/ruby-2.7.2)
(default)
=> foobar
global
➜ rvm list gemsets
rvm gemsets
ruby-2.7.2 [ x86_64 ]
=> ruby-2.7.2@foobar [ x86_64 ]
ruby-2.7.2@global [ x86_64 ]
For preserving the gemset for the current directory create .rvmrc
file:
vim .rvmrc
# add this: rvm --rvmrc use foobar
If rvm is not loading into the shell after changing the terminal preferences, check the rvm_path env variable.
$rvm_path
zsh: no such file or directory: /usr/share/rvm
If you don’t have that directory you must change the above path to a correct rvm installed path.
By default rvm installed in this path: ${HOME}/.rvm
So you can add this path to rvm_path
Set it like:
export rvm_path="${HOME}/.rvm"
You can add this line into your ~/.zshrc
OR ~/.bash_profile
file.
You can check rvm env variables and info by:
env | grep rvm
rvm info
Check ruby version by: ruby -v
If ruby is not loading try to add the following line into your bash_profile:
export PATH=~/.rvm/gems/ruby-2.7.2/bin:$PATH # change version: ruby-2.7.2 to your installed version
source ~/.bash_profile OR source ~/.zshrc # whatever you use
ruby -v