After updating to OS X Yosemite, brew breaks. When I run brew, it shows error:
/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 21: /usr/local/Library/brew.rb: Undefined error: 0
OS X Yosemite comes with ruby 2.0 bundled but Homebrew is designed to work with ruby 1.8.x. So this error can be fixed in the following steps:
1) Open terminal
2) nano /usr/local/Library/brew.rb
3) In the first line change “1.8″ to “current”, so it should look like this:
#!/System/Library/Frameworks/Ruby.framework/Versions/current/usr/bin/ruby -W0
Note: Although above steps get Homebrew works again on Yosemite, Homebrew can not be updated. When running "brew update" command, it complains that
error: Your local changes to the following files would be overwritten by merge:
Library/brew.rb
Please, commit your changes or stash them before you can merge.
A more simple way to get Homebrew work on Yosemite is to create a symbolic link
"/System/Library/Frameworks/Ruby.framework/Versions/1.8" linked to
"/System/Library/Frameworks/Ruby.framework/Versions/2.0"
by using command
sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/2.0
/System/Library/Frameworks/Ruby.framework/Versions/1.8
At this time, you should be able to update brew, and then delete the symbolic link.