使用opam和ocaml的问题

时间:2019-02-05 12:48:49

标签: bash ocaml ubuntu-14.04 opam

我正在使用具有Ubuntu 14.04的RDP并尝试安装ocaml。

我正在尝试将ocaml编译器更新为4.05.0或更高版本,但是opam switch list仅提供了一个编译器system C system System compiler (4.01.0)。我的opam update也在下面记录了我的情况。

[ERROR] Your version of OPAM (1.1.1) is not recent enough to read ~/.opam/repo/default/repo. Upgrade OPAM to a more recent version (at least 2.0) to read this file correctly.
[ERROR] Skipping https://opam.ocaml.org as the repository is not available.
Updating ~/.opam/repo/compiler-index ...
Updating ~/.opam/compilers/ ...
Updating ~/.opam/repo/package-index ...
Updating ~/.opam/packages/ ...
Updating the cache of metadata (~/.opam/state.cache) ...
Everything is up-to-date.

任何想法该怎么做?谢谢您的帮助。

更新: 我需要使用二进制分发版单独安装更新的opam版本。

sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh) 

命令我可以安装它,但是它将提示我安装位置, 但是我必须自动进行安装,以便用户之间没有任何交互。有办法吗?

更新2:

找到了一种使用ppa做到这一点的方法。

2 个答案:

答案 0 :(得分:0)

好吧,正如日志所述,您必须将OPAM更新为2.x。不再支持旧版本。因此,您必须遵循installation instructions并更新OCaml。

答案 1 :(得分:0)

我尝试使用sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh),但无法将其作为非交互式脚本使用。

尽管使用Ubuntu 14.04添加ppa sudo add-apt-repository ppa:avsm/ppa,然后进行更新,升级,dist-upgrade和opam的最终安装将是2.2版,但我发现此方法有效。请按照以下命令进行操作。

add-apt-repository ppa:avsm/ppa
apt-get update -y
apt-get upgrade -y
apt-get dist-upgrade -y
apt-get install curl build-essential m4 zlib1g-dev libssl-dev ocaml ocaml-native-compilers opam -y
opam init --disable-sandboxing -y
eval `opam config env`
opam update
opam switch list-available
opam switch create 4.07.0
opam init -y
eval `opam config env`

此后,一切都应该是最新的。