November 3, 2013
Installing Ruby the Right Way: Epilogue
As much as I like to write about how to do things on this blog, sometimes I don't explain how I did things exactly as I though I explained them, mainly because later on I found out that I was most likely wrong about some things or there were other factors I didn't anticipate at the time the were done.
For instance, when I was doing the RVM install, I was using tmux inside my bash shell. To which, either because I am using Lubuntu or this is part of Ubuntu/Gnome Terminal's set up, in bash the terminal you are using (which you can find out what terminal you are using by typing
echo $TERM) the
xterm terminal, but when you are using tmux, your terminal is
screen. xterm and screen both use bash as their shell of choice by default. However, depending on your distro more than likely,
xterm will strictly use
~/.profile to load bash shell preferences whereas
screen continues to follow the more traditional rules that state that
~/.profile is read only if
~/.bash_profile does not exists for
screen to read at the creation of a new terminal.
So it would seem pretty simple to append the following line to the end of
~/.bashrc, which is loaded when
~/.profile is read.
Yeah, we could have, figcaption, but what a mess that was! By the way, if that line is in
~/.bash_profile, comment it out.
At any rate, back at
~/.bash_profile, the following line should be at the beginning of the file.
Actually, no. While this is necessary to make sure that the settings many of us are used to using in bash (i.e. using colors when listing what file type and making sure that common alias commands are used) there is one issue that still stands out. If you have a directory called
~/bin to run programs local to your home directory, that path is tacked on at the beginning of
$PATH and if you haven't figured out by now, RVM wants to be the first thing that is read otherwise when you run
rvm , you will get that Path Warning about how it's not the first item in the
While I'm not completely certain that it has to be, whether or not you want to do this next part is up to you. At this point, I'm of the opinion that if RVM want's to be first, it's requests for preferential positioning should be denied. RVM's Ruby is used in
screen now. That's what matters. You can use a different terminal emulator like urxvt (or as Ubuntu calls it UXTerm), and RVM's Ruby would be shown when executing
which ruby. Besides, we just want to use RVM to handle the more important installations like Ruby, JRuby, and Rails. Everything else should be done using
gem. Right now, I'd really like to get gems for Tk and OpenGL set up.
But like I said, if you still want to appease RVM, you can either remove
~/bin (which more than likely you don't want to; I wouldn't), or ignore RVM's "Me first!" messages.
Unless I encounter some problem that requires RVM's paths to be first explicitly, it will just have to deal with where it is.
One more thing, to get RVM's version of JRuby working by default use the following command.