Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I change Ruby to version 1.9.3 (again) with RVM?

I used to work with Ruby version 1.9.3 on Ubuntu and made an update that probably screwed my bash profile and I need help to turn it back rather than using version 1.8.7. Right now rails s opens the server with Ruby 1.8.7 and I get errors because of the newer syntax I use in my app.

.bash_profile:

cat ~/.bash_profile

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

which rails:

/usr/local/bin/rails

which ruby:

/usr/bin/ruby

ruby -v:

ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]

rvm list:

rvm rubies

=* ruby-1.9.3-p194 [ i686 ]

# => - current
# =* - current && default
#  * - default

rvm use 1.9.3:

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.
like image 688
Tom Avatar asked Dec 07 '22 11:12

Tom


1 Answers

You are not in the login shell. To enter the login shell try this command:

/bin/bash --login

After that you will be able to use RVM to select Ruby.

Also, there is permanent way, that you won't have to write this line everytime you open your terminal. Try this:

Edit menu -> Profile Preferences 

A dialog will appear, now select Run command in login shell.

After that, whenever you open your terminal, you will enter into the login shell, and you will be able to use RVM.

There is another way, you can write /bin/bash --login in your .bash_profile which will load every time when you reboot.

like image 90
Akshay Vishnoi Avatar answered Dec 15 '22 00:12

Akshay Vishnoi