Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ruby on Mac OSX via Mac Ports

I'm new to both Ruby and to Mac OSX, though I do have a fair amount of experience with Unix commands. I just installed Ruby 1.9 via a MacPorts command (port install ruby19). I then needed to do a find from root just to figure out where it went, which turned out to be: /opt/local/var/macports/software/ruby19/1.9.1-p376_0/opt/local/bin/ruby1.9.

The current version of Ruby (1.8.6) runs via /usr/bin/ruby, which is a symbolic link to /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby where Current is a symbolic link to a directory called 1.8.

I'd like to make Ruby 1.9 my default (along with related tools like irb), and while I can manage to do that, I'd like to know if there's a conventional way. Should I copy or link the MacPorts path to /System/Library/Frameworks/Ruby.framework/Versions/1.9 and then point Current to 1.9? (I'd also have rename or copy the executables: ruby1.9 to ruby, irb1.9 to irb, etc.) Or should I just blow away the /usr/bin/ruby link (and /usr/bin/irb, etc) and create new ones pointing to the MacPorts version?

like image 676
Greg Charles Avatar asked Aug 12 '10 02:08

Greg Charles


People also ask

Is Ruby installed on Mac by default?

First of all, Ruby is already pre-installed on your Mac. However, the pre-installed version is a few versions behind so we'll look into the other ways to install Ruby. Using a package management system makes your life easier when installing any software. On a Mac, you can use Homebrew to install newer versions of Ruby.

How do I switch to Ruby on Mac?

Set Ruby version with rvm on Mac 0 on the command line. To switch to the system ruby, enter rvm use system . To switch back to the default, rvm default . The command rvm list will show all installed Rubies, including the current and default versions.


2 Answers

You can easy to use port select command, under MacPorts 2.1.3

$sudo port select --set ruby ruby19 
like image 59
Jason Zhu Avatar answered Oct 08 '22 02:10

Jason Zhu


Install the nosuffix variant instead:

sudo port install ruby19 +nosuffix 

Your newer ruby version should now take precedence over the preinstalled one.

like image 39
You Avatar answered Oct 08 '22 02:10

You