opam 包管理器的无人值守安装

Unattended install of opam package manager

在 CI 环境(例如 Travis CI)中安装最新版本的 OPAM(OCaml 包管理器)的常用方法是什么?官方 install.sh shell 脚本提示用户输入,并且没有任何命令行选项或环境变量来覆盖它。我可以使用 echocat 将一些回复通过管道传输到标准输入,但这看起来很脆弱。

我也可以从 OS 包管理器(例如 Linux 上的 apt)安装 OPAM,但它通常不是最新版本。

通常的方法是使用ocaml-ci-scripts. The travis integration is documented here中的脚本。