Upgrading to OS X Catalina — developer tools need updating!
My experience of the upgrade process for OS X is usually super smooth and easy. Well I was one of the super keen and upgraded to OS X Catalina on my Macbook Pro 15" and then started reading the Release Notes. Ah! — There are a few key changes that you will need to address once the migration has happened to get your developer tools back up and running again.
For me I regularly use:
- Terminal
- Visual Studio Code
- Anaconda (Python Distribution)
- Homebrew, and
- Julia
When the upgrade was complete I quickly dived into the terminal to get some work done to discover nothing worked. Python came up with system python27
and Julia couldn’t be found. As it turns out Zsh is the new default (not bash) for OS X Catalina so it will no longer reference your .bash_profile
, the previous place to update your PATH variables etc.
Step 1: Migrating your .bash_profile
settings to your .zshrc
If you use Visual Studio Code and dislike the command line editors such as nano
you may want to fix the ability to use code
via the command line first.
nano ~/.zshrc
then add
Save using Ctrl + O
and then exit using Ctrl + X
Back in terminal activate your new profile
source ~/.zshrc
then you should be able to use code
again through terminal.
code ~/.zshrc
To fix Python and Julia you can migrate the other needed PATH
items from your .bash_profile
to fix Julia and Python (Anaconda)
This assumes you have installed anaconda
and julia
in their default locations
An alternative is you can reinstall Anaconda rather than fix your environment (as suggested above) as Anaconda Python 2019.10
has just been released. Continuum have also released some of their own advice about fixing your environments
- https://www.anaconda.com/how-to-restore-anaconda-after-macos-catalina-update/
- https://www.anaconda.com/anaconda-distribution-2019-10/
Step 2: Install Oh My Zsh for extra goodies (if you like!)
I took this opportunity to install Oh My Zsh for some extra goodies
You can open choose a theme and it provides a lot of contextual information when using git etc.
Other alternatives are the popular https://www.iterm2.com/