My Profile Photo

Chris Arcand


Platform engineer at Red Hat, ManageIQ core committer, maintainer of octobox.io, and conference speaker. A Minnesotan who spends too much money on keyboards, ice hockey, and backpacking gear.

Minneapolis, MN


Upgrading to OSX Yosemite

After a bit of time to let the dust settle and important libraries and tools catch up to support OSX Yosemite, I decided to give an upgrade a go. Here’s some collected information about what it took to get my machine back up and running; hopefully it will save you some time. This is mostly useful for Ruby developers.

Pre-installation warning: Apple’s upgrade process moves around your /usr/local directory across your disk - depending on what you have there, (namely, Homebrew uses /usr/local and it has a lot of small files). I didn’t know this ahead of time and it took many, many hours to upgrade. In hindsight, I would have probably just completely removed Homebrew and started fresh afterward, at minimum.

<Insert obligatory statement about how you should close this window and not upgrade without cloning your machine first…>

  • Install Xcode
    I have found that being stubborn and refusing to do so only causes problems - even if you don’t use Xcode directly - because Apple™. You can just install it via the App Store.

  • Install Xcode Command Line Tools
    Separate step. You can xcode-select —install to trigger installation on the command line.

  • Fix Postgresql
    Postgres would not start properly at all using launchctl. This is because the Yosemite upgrade misplaces a few directories that Postgres uses when it’s throwing files around your disk o_O

    Source of this fix here

    cd /usr/local/var/postgres 
    mkdir pg_tblspc pg_twophase pg_stat_tmp
    
  • Fix Pow
    Yosemite initially broke Pow because ipfw has been completely removed. You’ll need to reinstall. Do not use the Homebrew version of Pow - it doesn’t work as of this writeup, it appears (still uses ipfw).

    Install the normal Pow way via curl get.pow.cx | sh

    Information about this issue here

  • Upgrade Powder
    If you use the Powder gem in your projects, you’ll need to upgrade that to >= 0.3.0 if you haven’t already done so. I didn’t keep the original error message but it’s essentially ‘Cannot do anything with Pow, try powder up?’ any time you use a powder command.

    Yosemite is different enough where a separate loading process has been merged in - and yes, it kept the old code to be backwards compatible with Mavericks. You can see the commit that was merged here

  • Reinstall Brew Gems
    At Sport Ngin we use brew-gem for some tools to be available system-wide and easily updated. Running a command on any of these gems (such as Opsicle or Octopolo), you may get messages that look like this:

    Ignoring <gem> because its extensions are not built.  Try: gem pristine <gem>
    

    Simply reinstalling these gems solved the issue for me. (brew gem uninstall <gem>; brew gem install <gem>)

  • Fix Oh My Zsh PS1 prompt for RVM
    If you use zsh with Oh My Zsh, you may run into an issue with your PS1 prompt if you display the project path where it just shows RVM_PROJECT_PATH.

    Oh My Zsh has already merged the fix; just upgrade_oh_my_zsh on the command line.

    Information about this issue here

And there you have it. Really, this wasn’t much effort at all for my simple setup - mostly just updating things to their Yosemite-friendly versions at this point. RVM appears to work perfectly fine; Existing Rubies seem good, and I installed a new Ruby version with no issues. Homebrew itself also seems fine. I pretty much updated everything anyway, even if it didn’t appear broken.

Find other issues and/or solutions? Let me know and I’ll add them to the list.

<- Back