1. 程式人生 > 實用技巧 >crystal-lang 學習二 macos openssl 問題

crystal-lang 學習二 macos openssl 問題

因為我的openssl 是使用brew 安裝的,按照一般的解決方法是如下配置

注意我的是按照brew 安裝的版本的提示

配置

export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
export CPPFLAGS="-I/usr/local/opt/[email protected]/include"
export PKG_CONFIG_PATH="/usr/local/opt/[email protected]/lib/pkgconfig"

但是依然還是提示

Error: execution of command failed with code: 1: `cc "${@}" -o /Users/dalong/.cache/crystal/crystal-run-main.tmp  -rdynamic -L/usr/local/Cellar/crystal/0.35.1/embedded/lib -L/usr/lib -L/usr/local/lib -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 /usr/local/Cellar/crystal/0.35.1/src/ext/libcrystal.a -L/usr/local/Cellar/libevent/2.1.11_1/lib -levent -liconv -ldl

解決方法

執行時指定連線的lib
參考命令

crystal build src/main.cr --link-flags -L/usr/local/opt/openssl@1.1/lib

shards build 說明

同樣也是新增連結

shards build --link-flags -L/usr/local/opt/openssl@1.1/lib

參考資料

https://gitter.im/crystal-lang/crystal?at=5d8df36feb1eff63d63302d4
https://www.crstin.com/crystal-openssl/


https://github.com/crystal-lang/crystal/issues/6875