# How to tell Terminal which version of Ruby to use?

**URL:** <https://www.ruby-forum.com/t/how-to-tell-terminal-which-version-of-ruby-to-use/194956>\
**Category:** Ruby\
**Created:** [September 14, 2010, 10:16am UTC](https://www.ruby-forum.com/t/how-to-tell-terminal-which-version-of-ruby-to-use/194956 "2010-09-14T10:16:04Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![shrapnel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecd19e/32.png) [@shrapnel](https://www.ruby-forum.com/u/shrapnel)\
**Post date:** [September 14, 2010, 10:16am UTC](https://www.ruby-forum.com/t/how-to-tell-terminal-which-version-of-ruby-to-use/194956/1 "2010-09-14T10:16:04Z")

</div>

Hello,

I have two entry level questions that I was hoping someone could help  
out with.

1. I recently installed Ruby 1.9.2 on my Mac (running Snow Leopard  
10.6.4) and I havenâ€™t been able to figure out how to get Terminal to use  
the new Ruby as a default, rather than the factory-installed Ruby 1.8.7.  
The old Ruby 1.8.7 is located in my ~/usr/bin/ruby directory while the  
new Ruby 1.9.2 is in ~/usr/local/bin/ruby. Someone said that I need to  
put the new version of Ruby’s directory in the PATH prior to the old  
version’s directory so that the system looks there first - is this  
correct? If so, can anyone provide step by step instructions on how to  
do this?

[Side Note: I actually somehow got it to work when I first installed  
1.9.2, but I have networked computers and a wireless Apple Time Machine  
backing up both machines that is somehow communicating shell settings  
via the backup mechanism, from my un-upgraded MacBook back to the iMac  
that has the new 1.9.2 installed. Somehow the PATH settings from the  
MacBook seems to be overriding what’s on the iMac. I’ve noticed the  
same thing happens with my TextMate preferences - the style preferences  
on the laptop get transferred to the one on the iMac in realtime  
somehow. After I figure out how to fix this, I’m going to change the  
shell settings on both machines to try and prevent this. Just curious  
if others have encountered this issue.]

1. Iâ€™ve created a new directory but canâ€™t seem to figure out the correct  
way to add that directory to my PATH using the Terminal bash shell. I  
tried using the instructions that I found here  
([http://www.macgasm.net/2008/04/10/ad...thin-terminal/](http://www.macgasm.net/2008/04/10/ad...thin-terminal/)) twice but they  
didn’t work for me. The directory containing my program  
(“Ruby\_Programs”) shows up in the PATH but when I try to run “ruby  
newprogram.rb” from the command line it results in “:ruby: No such file  
or directory – newprogram.rb (LoadError)”. The file definitely exists  
and is a functional Ruby program. I did change the name of the  
directory to “Ruby P.s” and then back to “Ruby\_Programs” - could  
that have somehow caused this problem?

Any help would be greatly appreciated. Here is my current PATH:

$ echo $PATH  
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/sbrriffe/src:/usr/X11/bin:/Users/sbriffe/Ruby\_Programs/:

1. I can’t get the shebang line to work in any of my Ruby programs. Is  
there a specific permission that needs to be set on Mac files to get the  
shebang line to work? It points to the right directory that contains  
the Ruby interpreter and it’s supposed to be a fairly simple line of  
code, but I’m never able to run Ruby programs in the shell without the  
“ruby” preface in the command line.

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![shrapnel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecd19e/32.png) [@shrapnel](https://www.ruby-forum.com/u/shrapnel)\
**Post date:** [September 14, 2010, 10:19am UTC](https://www.ruby-forum.com/t/how-to-tell-terminal-which-version-of-ruby-to-use/194956/2 "2010-09-14T10:19:16Z")

</div>

CORRECTION: Here is the working link that I posted:

> **[Adding a New Location to Your $PATH Variable within Terminal](https://www.macgasm.net/news/tips/adding-a-new-location-to-your-path-variable-within-terminal/)**
>
> With Mac OS X being based on BSD Unix and being UNIX 03 Compliant you have many of the same features of Linux. One of...

---

<div class="post-metadata">

**Author:** ![shrapnel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecd19e/32.png) [@shrapnel](https://www.ruby-forum.com/u/shrapnel)\
**Post date:** [September 14, 2010, 10:37am UTC](https://www.ruby-forum.com/t/how-to-tell-terminal-which-version-of-ruby-to-use/194956/3 "2010-09-14T10:37:59Z")

</div>

I suffered from similar problems in the past. Now I’m a big fan of the  
tool rvm. It helps you to install and switch between your rubies.

Im unsure weather it works on mac, but you can give it a try:

[http://rvm.beginrescueend.com](http://rvm.beginrescueend.com)

---

<div class="post-metadata">

**Author:** ![shrapnel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecd19e/32.png) [@shrapnel](https://www.ruby-forum.com/u/shrapnel)\
**Post date:** [September 14, 2010, 10:44am UTC](https://www.ruby-forum.com/t/how-to-tell-terminal-which-version-of-ruby-to-use/194956/4 "2010-09-14T10:44:26Z")

</div>

You can try rvm ([http://rvm.beginrescueend.com/](http://rvm.beginrescueend.com/)) to manage your ruby  
installations.

On 14 September 2010 11:19, Sam R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> CORRECTION: Here is the working link that I posted:
> 
> ## [http://www.macgasm.net/2008/04/10/adding-a-new-location-to-your-path-variable-within-terminal/](http://www.macgasm.net/2008/04/10/adding-a-new-location-to-your-path-variable-within-terminal/)
> 
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

–  
Cheers,

Konstantinos

---

<div class="post-metadata">

**Author:** ![shrapnel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecd19e/32.png) [@shrapnel](https://www.ruby-forum.com/u/shrapnel)\
**Post date:** [September 15, 2010, 5:50pm UTC](https://www.ruby-forum.com/t/how-to-tell-terminal-which-version-of-ruby-to-use/194956/5 "2010-09-15T17:50:37Z")

</div>

Hi,  
bash will look for files in the PATH but in the same order as in PATH.  
Hence if you have two files/programs called the same in two different  
directories included in the PATH, bash will give you the first one.

That may explain some of the problems.

The shebang only works if your file is set as an executable. To fix  
that you can use:  
chmod 755

Finally I don’t think you need to have the final colon in your PATH…  
though I don’t know if that has any effect.

How that helps  
Diego
