FreeBSDへのインストール
FreeBSD 11.0以降のバージョンでは、portsツリーにCrystalコンパイラが含まれています。
現在、aarch64とamd64プラットフォームでのみ利用可能です。
FreeBSDで--releaseフラグを使用してCrystalコードをビルドする際には、LLVMのassertionエラーを回避するために--no-debugフラグも追加する必要があります。
パッケージのインストール
Crystalはコンパイル済みパッケージとして利用できます。ただし、利用可能な最新バージョンではない可能性があります。
sudo pkg install -y crystal shards
FreeBSDの-RELEASEバージョンでは、デフォルトでpkgは四半期ごとに更新されるquarterlyパッケージセット(セキュリティパッチはできるだけ早く含まれます)に設定されています。
より迅速なアップデートのためにlatestに切り替えるには、/usr/local/etc/pkg/repos/FreeBSD.confというファイルを作成し、以下の内容を記述します。
FreeBSD: {
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest"
}
ポートのインストール
Crystalを自分でビルドする場合は、portsツリーに必要なインストールファイルがあります。
portsコレクションがまだインストールされていない場合は、portsnap fetchまたはgit clone https://github.com/freebsd/freebsd-portsを使用してダウンロードできます。
sudo make -C/usr/ports/lang/crystal reinstall clean
sudo make -C/usr/ports/devel/shards reinstall clean
(非常に時間がかかる可能性のある)ソースからのLLVMのビルドを回避するには、まずバイナリパッケージをインストールします。
sudo pkg install -y llvm
あるいは、Synthのようなスマートポートビルダーを使用すると、再ビルドする必要がない場合は、依存関係をバイナリパッケージとして自動的にダウンロードします。