Brew Binary Install on macOS Beta by

Brew Binary Install on macOS Beta

Last update: 2 years ago Tag : brew, erlang, elixir, phoenix, boringssl, macos beta

If you like me, i.e fond of using the most bleeding edge version of everything, including OS in an everyday production machine, and in this case is macOS, you must be familiar with brew, unless you're a different kind of macOS user.

So, you may already knew that brew is not supported on any beta version of macOS, so if you want to install a package, it will fetch the source, and try to build it, and then install it. If you're lucky enough, your package will be ready in a couple of minutes, if not hours. Building something from source usually takes much more times than just five minutes.

Now you wonder, why brew just doesn't use the latest version of binary of the package, instead of fetching the source?

Well, latest binary version of a package was built for the previous macOS version, much probably it won't work in your newest beta version, that's why the package is needed to be built using the current version of development tools.

Now, we have some specific problems regarding this compilation routines, that is brew failed to install our package because of some errors in the building process (after took exactly forty-two minutes of compilation in my case). Of course, Google and Stack Overflow are the next logical things to look at, but alas! The very same problem, and unresolved yet.

That's just how it's work! Beta version is only for the brave, and most importantly, don't use it in your code-for-food machine!(!!)

So, now, just like you, I face similar problem regarding phoenix framework in my macOS High Sierra (10.13 beta 8). The problem is Apple try to replace OpenSSL with BoringSSL for internal use, while encouraging LibreSSL for external use [1].

TL;DR; I finally succeeded reinstall erlang package by choosing the latest bottle (binary package) for the Sierra, using this simple command:

brew reinstall erlang --force-bottle

Actually all this drama can be avoided by just read an internal help of brew itself, i.e by running brew help install, we'll see a lot of options regarding installing a package. So now, instead of building from source as the main workflow, I will just try binary first and build later, pretty much like in the R world.

Share this post: