@na4zagin3氏によってsatyrographosというSATySFiのパッケージマネージャが開発されています(日本語読みは「サテュログラポ̣ス」です)。 多数のパッケージがsatyrographosに登録されているばかりか、SATySFi自体もサポートしているため、satyrographosをインストールすることをオススメします。
まだ必要が無いと思う方は先に進み、必要になった時点でこの説明に帰ってくるのが良いでしょう。
satyrographosはまだ開発途中であるため、一部のコマンドラインインターフェースが予告なく変更される可能性があります。ドキュメントや表示をよく読むようにしてください。
GitHubのリポジトリはna4zagin3/satyrographosにあります。
OCamlによって記述され、OPAMによって管理されているライブラリを使用しているため、どちらもインストールする必要があります。 また、OPAMはWindowsとの相性が悪いため、WindowsでインストールするためにはWindows Subsystem for Linux(WSL)やCygwinなどを使う必要があります。 以下の説明では*nix環境があるという前提で説明をします。
上に説明している通り、Windows使用者はWSLやCygwinを事前にインストールしてください。
OPAMのドキュメントが存在しますが、ここでは必要な分だけ説明します。
ppaが用意されているのでこれを用います。
sudo add-apt-repository ppa:avsm/ppa
sudo apt update
sudo apt install opam
バイナリを直接インストールします。OCaml本体のインストールに必要なソフトウェアもついでにインストールします。
sudo apt-get update
sudo apt-get install build-essential git m4 unzip curl pkg-config
sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)
Homebrewを使います。
brew install gpatch
brew install opam
インストールしたOPAMを使ってOCamlをインストールします。
一部のOSではsandbox
という機能が使えないらしいので、インストール時に--disable-sandboxing
オプションが必要となります。詳しくはFAQを見てください。
この現象は少なくともWSL1では確認されていますので、WSL1を使用している人は必ずこのオプションを付けてください。WSL2では不要という情報もあります。それ以外の主要なOSでは必要ないはずです。
このオプションが必要なOSで--disable-sandboxing
オプションを付けないでインストールしようとすると、FAQへのリンクの付いたエラーが出るのでわかりやすいと思います。
インストールするOCamlのバージョンは、執筆している2020年6月時点では最新版の4.10.0です。 SATySFiやsatyrographosのREADMEを読んで必要なバージョンを確かめてください。
opam init --comp 4.11.1 --disable-sandboxing
eval $(opam env)
opam init --comp 4.11.1
eval $(opam env)
SATySFiもsatyrographosも外部リポジトリを使って独自のライブラリを利用します。 ですので、これを登録します。
opam repository add satysfi-external https://github.com/gfngfn/satysfi-external-repo.git
opam repository add satyrographos-repo https://github.com/na4zagin3/satyrographos-repo.git
opam update
satyrographos本体はOPAMに登録されているため、すぐにインストールすることができます。
opam depext satyrographos
opam install satyrographos
もし
No switch is currently set. Please use 'opam switch' to set or install a switch
のようなエラーが出た場合は
opam switch create 4.11.1
をするとエラーが解消されます。