How can I change Ruby to version 1.9.3 (again) wit

2019-02-14 08:22发布

问题:

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.

回答1:

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.