Install F# on OS X

As the title indicates, this is how to install the various bits and pieces to be able to compile F# applications and run F# scripts on OS X.

There are two ways I ended up doing it, both involve installing Mono. I went with the first option initially until I ended up doing iOS development using Xamarin.

Option 1 – Install using Homebrew

Assumptions

You have homebrew already installed.

Install mono

Pretty straight forward:

  1. Open Terminal
  2. Install mono and nuget via homebrew: brew install mono nuget

And away you go.

Option 2 – Install Xamarin Studio

  1. Download Xamarin Studio.
  2. Run the installer and choose the options that suite you and then follow the prompts. I actually went with a ‘manual’ install of Xamarin Studio as I didn’t want or need Android development resources installed on the Mac I was using.

How to manually install Xamarin Studio components

I went with this option as even though I didn’t want to install Android, Xamarin Studio was still going to install Java and Android SDK.

So this is how I performed a manual install:

  1. Run the Xamarin Studio installer.
  2. Accept the terms and select Continue.
  3. Select the products to install then select Continue. I chose Xamarin.iOS. Note: This won’t actually start the installation.
  4. On the “Please configure the installation” page, Select the “Xamarin Installer” in the menu bar, and then choose “View manual install instructions”. This will then show a new dialog with instructions on how to install the various bits of Xamarin Studio. It basically boils down to downloading a couple of seperate installers (Mono SDK, Xamarin Studio, Xamarin iOS product) and installing them. Note that if you wish to you can completely ignore the Java and Android.SDK options as I did.

Regardless of how you installed Xamarin Studio, you should have the various mono executables in your Terminal path.

Lastly, you can apparently use homebrew mono and Xamarin together though for me atm, it was just easier to stick with what Xamarin installed.