Often when upgrading to the latest OS X MacOS you have to do a few things to account for changing to underlying libraries. Here are the post-upgrade steps I took to get back to a fully operational state. I use homebrew and rbenv to manage my environment.
To do this just run
$ xcode-select --install
and confirm the system pop up.
$ brew up
$ brew upgrade [package1, package2, ...]
I almost always need to do this for major OS upgrades. This time it was readline
that changed, and threw this message:
Sorry, you can't use byebug without Readline. To solve this, you need to
rebuild Ruby with Readline support. If using Ubuntu, try `sudo apt-get
install libreadline-dev` and then reinstall your Ruby.
This is simple with rbenv
and ruby-build
:
$ rbenv install 2.3.1 --force
With ruby reinstalled, ruby itself is working, but many of the gems with native extensions need to be recompiled. You get messages like this when trying bundle install
:
Ignoring scout_apm-3.0.0.pre3 because its extensions are not built. Try: gem pristine scout_apm --version 3.0.0.pre3
I had enough of these that I decided to just make all my gems pristine:
$ gem pristine --all
This takes a long time. You can of course just do gem pristine gem1 gem2 gem3...
if you know the list.