Crystalをanyenvでインストール

Rubyの文法に似たCrystalという言語をanyenvを使ってインストールしてみました。

インストール

anyenv install crenv
exec $SHELL -l
crenv install 0.24.2

基本的にはこれでインストール出来ますが、私の環境では上手くいかなかったので解決した方法を最後に載せて起きます。

実行

ファイルを作成します。

# app.cr
puts "hello crystal"

実行すればhello crystalと表示されるはずです。

$ crystal app.cr
hello crystal

コンパイル

$ crystal build app.cr

これでコンパイル出来ます。コンパイルするとappとデバッグ用のapp.dwarfというファイルが出来上がるので実行ファイルのappを実行すると

$ ./app
hello crystal

と出力されます。

エラー

実行時にエラーが出ていたのでそれぞれupgradeでダイナミックライブラリをアップデートしたところ正常に動くようになりました。

libgc.1.dylibが古い

dyld: Library not loaded: @@HOMEBREW_PREFIX@@/opt/bdw-gc/lib/libgc.1.dylib
  Referenced from: /Users/xxx/.anyenv/envs/crenv/versions/0.24.2/bin/crystal
  Reason: Incompatible library version: crystal requires version 5.0.0 or later, but libgc.1.dylib provides version 2.0.0
Abort trap: 6
$ brew upgrade bdw-gc

libevent-2.1.6.dylibがない

dyld: Library not loaded: @@HOMEBREW_PREFIX@@/opt/libevent/lib/libevent-2.1.6.dylib
  Referenced from: /Users/xxx/.anyenv/envs/crenv/versions/0.24.2/bin/crystal
  Reason: image not found
Abort trap: 6
$ brew upgrade libevent