Crystalでコード実行時のSSLライブラリエラー

Crystalの公式サイトにのっているHTTPサーバーを起動するサンプルを実行してみたところsslのライブラリが見つからないというエラーがでていろいろ調べてみました。

サンプルコード

require "http/server"

server = HTTP::Server.new do |context|
  context.response.content_type = "text/plain"
  context.response.print "Hello world, got #{context.request.path}!"
end

puts "Listening on http://127.0.0.1:8080"
server.listen(8080)

エラー

ld: library not found for -lcrypto (this usually means you need to install the development package for libcrypto)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: execution of command failed with code: 1: `cc "${@}" -o '/Users/xxx/.cache/crystal/crystal-run-kv.tmp'  -rdynamic  -lz `command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libssl || printf %s '-lssl -lcrypto'` `command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libcrypto || printf %s '-lcrypto'` -lpcre -lgc -lpthread /Users/xxx/.anyenv/envs/crenv/versions/0.25.1/src/ext/libcrystal.a -levent -liconv -ldl -L/usr/lib -L/usr/local/lib`

opensslも入っているしエラーを調べて出てきた記事を試してみてもうまくいかなかったのですが、エラーをよく見たところ pkg-config が入っていないことが分かったので↓のように入れたところ無事実行できました。

修正コマンド

brew install pkg-config