It turns out the pre-built binaries for macOS depend on libyaml installed via Homebrew. This can verified using otool.
$ otool -L shards
/Users/kevinsjoberg/.asdf/installs/crystal/1.0.0/embedded/bin/shards:
/opt/crystal/embedded/lib/libyaml-0.2.dylib (compatibility version 3.0.0, current version 3.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.0.0)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
This dependency isn't noted, causing issues for people trying to run shards without having libyaml installed. See #14. I've tried to make this dependency more clear by introducing the following changes:
Running asdf help crystal will print out the libyaml dependency on macOS
Trying to install a Crystal version without having Homebrew installed causes an error
Trying to install a Crystal version without having libyaml installed via Homebrew causes an error
Homebrew not being installed
$ asdf install crystal 0.36.1
Fail: pre-built releases of Crystal depend on Homebrew. Visit https://brew.sh to install it.
libyaml not being installed via Homebrew
$ asdf install crystal 0.36.1
Fail: libyaml from Homebrew is required, run 'brew install libyaml'
It turns out the pre-built binaries for macOS depend on
libyaml
installed via Homebrew. This can verified usingotool
.This dependency isn't noted, causing issues for people trying to run
shards
without havinglibyaml
installed. See #14. I've tried to make this dependency more clear by introducing the following changes:asdf help crystal
will print out thelibyaml
dependency on macOSlibyaml
installed via Homebrew causes an errorHomebrew not being installed
libyaml not being installed via Homebrew