Updating Crystal - Are binaries available for Mac?

#1

Whenever I update Crystal version using homebrew on Mac, it takes very long for the installation to complete. Is this because the Crystal is being built from source? If so, are there binaries available that can be used for quicker installation.

Thanks.

#2

What is the output of $ brew info crystal ?

Binaries should be downloaded from brew servers directly unless you are explicitly telling brew to build from sources.

Mine, that use the downloaded binaries, says:

$ brew info crystal
crystal: stable 0.28.0 (bottled), HEAD
Fast and statically typed, compiled language with Ruby-like syntax
https://crystal-lang.org/
/usr/local/Cellar/crystal/0.28.0 (966 files, 50.9MB) *
  Poured from bottle on 2019-04-24 at 10:56:09
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/crystal.rb
==> Dependencies
Build: autoconf ✔, automake ✔, libatomic_ops ✔, libtool ✔
Required: gmp ✔, libevent ✔, libyaml ✔, llvm@6 ✔, pcre ✔, pkg-config ✔
==> Options
--HEAD
	Install HEAD version
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions
==> Analytics
install: 1,979 (30 days), 5,066 (90 days), 20,166 (365 days)
install_on_request: 1,804 (30 days), 4,615 (90 days), 18,079 (365 days)
build_error: 0 (30 days)
#3

Thank you! I checked and here is the output. It shows that it was built from source.
I think I used the command brew upgrade crystal. I don’t know why it built it instead of downloading the binary. Which brew command would you recommend?

Thanks very much.

crystal: stable 0.28.0, HEAD
Fast and statically typed, compiled language with Ruby-like syntax
https://crystal-lang.org/
/usr/local/Cellar/crystal/0.27.2 (957 files, 50.8MB) *
  Built from source on 2019-03-17 at 11:39:11
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/crystal.rb
==> Dependencies
Build: autoconf ✔, automake ✔, libatomic_ops ✘, libtool ✔
Required: gmp ✔, libevent ✔, libyaml ✔, llvm@6 ✔, pcre ✔, pkg-config ✔
==> Options
--HEAD
	Install HEAD version
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions
==> Analytics
install: 1,979 (30 days), 5,066 (90 days), 20,166 (365 days)
install_on_request: 1,804 (30 days), 4,615 (90 days), 18,079 (365 days)
build_error: 0 (30 days)
#4

I would do a $ brew uninstall crystal and $ brew install crystal to get a bottled version.

Maybe the first version you installed was compiled from sources and I think the flags are kept accross updates. I’m not 100% sure.

I do an uninstall while preparing the homebrew formula for the next version so actually, I never upgrade.

#5

Thank you. I will try uninstalling and reinstalling.