Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Is it possible? I'm running into various issues at least once a week since it got corrupted or something, especially with homebrew.

If it is possible, but would just be a better idea to start from a clean slate, please let me know.

share|improve this question
    
My PATH settings: gist.github.com/506481 –  LBRapid Aug 3 '10 at 14:37
    
From your path the /opt/local entries suggest that you have macports as well. what does which ruby show? –  Mark Aug 3 '10 at 15:04
    
I do have macports installed, but using which ruby is just going to show the rvm ruby version. The issues I run into are when trying to use something like homebrew or autotest –  LBRapid Aug 4 '10 at 14:20

5 Answers 5

up vote 2 down vote accepted

In my understanding -- please correct me if I am wrong -- you don't have to reinstall all of Mac OS X to reinstall your system Ruby. As you may know, the system ruby lives in /System/Library/Frameworks/Ruby.framework/. If that folder is deleted or corrupted -- or if the symlinks that point to it are deleted or changed -- you won't have a working system ruby install.

To fix, try this:

  1. Insert your Mac OS X Install DVD
  2. Open the Mac OS X Install DVD folder
  3. Open the Optional Installs folder
  4. Open the Xcode Tools folder
  5. Open the XcodeTools package. This will start the Xcode Tools Installer. Follow the instructions.

It also doesn't hurt to get the latest Xcode from http://developer.apple.com/technologies/xcode.html

Full disclosure: I have done these steps. I'm pretty sure it restores the Ruby.framework, but it has not restored the symlinks (typically in /usr/bin) for me.

share|improve this answer
    
This solution is pretty good, and although I didn't follow it, it was eventually suggested from a coworker. I ended up just reinstallting ruby 1.8.7 to /usr/local from source and then symlinking it to where homebrew needed it. I just needed rvm and homebrew to be operable until I get a new computer next month. So this'll do :) Thanks for your response! –  LBRapid Aug 15 '10 at 2:51

If you use Pacifist then it's possible to just reinstall Ruby.

  1. Insert your OS X DVD
  2. Run Pacifist
  3. Select "Open Apple Install Discs"
  4. Select the disc
  5. Search "Ruby.framework"
  6. Right click and select "Install to Default Location"

This will reinstall Ruby, to setup the symlinks from /usr/bin to point to it use Pacifist again:

  1. Search "Contents of BSD.pkg"
  2. Open: usr -> bin
  3. Select the links and files that you require
    • cap
    • capify
    • erb
    • ferret-browser
    • gem
    • gpgen
    • irb
    • mongrel_rails
    • rails
    • rake
    • rb-keygen
    • rdoc
    • redcloth
    • ri
    • ruby
    • testrb
    • update_rubygems
  4. Right click and select "Install to Default Location"

In general if you need to figure out what installer a file came from on your system in a terminal:

$ pkgutil --file-info /usr/bin/ruby
volume: /
path: usr/bin/ruby

pkgid: com.apple.pkg.BSD
pkg-version: 10.5.0.1.1.1188305148
install-time: 1203610823
uid: 0
gid: 0
mode: 120755

The pkgid should then give you a hint, and then you either find that installer and run it again or use Pacifist to selectively do it.

You can also see what other files are in that package with:

$ pkgutil --files com.apple.pkg.BSD
.
Library
Library/Documentation
Library/Documentation/Commands
Library/Documentation/Commands/grep
...

I've found the best way to deal with Ruby on OS X is to get your system to the default state with the above process. Remove any MacPort, Fink or versions you have manually compiled. Install RVM and use that to manage installing newer versions.


Turns out that I had removed my system Ruby and had problems installing pow (http://pow.cx) on my mac because of it. So I installed Pacifist and followed the advice in this post and am back in business. Thanks!

share|improve this answer

Old post, but I was just switching from ports to homebrew so...

For homebrew issues, I resolved it by installing rvm and symlinking. So if you have rvm installed you can can start by typing:

which ruby

with the output of that do something like:

ln -s /Users/username/.rvm/rubies/ruby-1.9.2-p290/bin/ruby /usr/bin/ruby
share|improve this answer

I made a real mess of my Ruby installation on OSX but I used this GUI from the RVM team and managed to resolve it with little effort and no hacking around on a CLI

http://jewelrybox.unfiniti.com

share|improve this answer

IMO Homebrew (http://brew.sh) is the best package manager for OS X.

To install Homebrew do:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Then

brew install ruby

Done.

share|improve this answer
3  
To install Ruby, use Ruby to install it via Homebrew... –  whirlwin Jun 18 at 12:57

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.