为什么在 MacOS Catalina 上使用 Cro 时 Raku 会因 'Abort trap: 6' 而崩溃?

Why does Raku crash with 'Abort trap: 6' while using Cro on a MacOS Catalina?

我正在使用 macOS Catalina 并尝试执行一个简单的命令 raku -e "use Cro::HTTP::Route"。我将在 Zsh shell 或 Bash shell 中收到消息 [1] 19228 abort rakuAbort trap: 6。我在使用像 raku -e "use OpenSSL::Stack".

这样的 OpenSSL 模块时遇到同样的问题
> raku -v
This is Rakudo version 2019.11-268-g0e4f8351e built on MoarVM version 2019.11-92-gd7b6855d3 implementing Perl 6.d.

> zef info OpenSSL
OpenSSL:ver<0.1.22>:auth<github:sergot>

> zef info cro
cro:ver<0.8.2>

这是因为 OpenSSL 模块在默认路径的 libssl.dylib 中找不到 OpenSSL_version_num 函数并崩溃。

要修复它,您需要通过 brew 安装 openssl 并为 libssl.dylib 库制作一个 link:

brew install openssl
ln -s /usr/local/opt/openssl/lib/libssl.dylib /usr/local/lib/