如何在 Ubuntu 16.04 上安装 ocaml 4.04

如何在 Ubuntu 16.04 上安装 ocaml 4.04

我想在 Ubuntu 16.04 上安装最新版本的 ocaml,但是当我从 ocaml 网站获取 PPA 时,它显示没有发布文件。

我无法安装官方存储库的 ocaml,因为它们不是最新的。

我按照 Ocaml 网站的教程进行 ubuntu 最新安装:

sudo add-apt-repository --yes ppa:avsm/ppa

导入成功。

sudo apt-get update -qq

显示器

W: The repository 'http://ppa.launchpad.net/avsm/ppa/ubuntu xenial Release' does not have a Release file.
E: Failed to fetch http://ppa.launchpad.net/avsm/ppa/ubuntu/dists/xenial/main/binary-amd64/Packages  404  Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.

答案1

最新开发版本OCaml(4.06)可在OCaml GitHub 网页Linux 安装说明位于在类 Unix 机器上从源代码安装 OCaml. 您应该安装构建必需品sudo apt install build-essential在编译 ocaml 之前也要打包。


ppa:avsm/ppa 中没有适用于 Ubuntu 16.04 的 ocaml 包。可能是因为 ocaml 位于 Ubuntu 16.04 的默认存储库中。

要在所有当前支持的 Ubuntu 版本中安装 ocaml,请打开终端并输入:

sudo apt install ocaml

这将安装 ocaml 版本 4.02.3。将 Ubuntu 升级到最新版本 Ubuntu 17.04 将为您提供相同的 ocaml 版本 4.02.3 软件包。官方 OCaml 网站上有关从 PPA 安装 OCaml 的说明不适用于 Ubuntu 15.10 之后的版本,Ubuntu 15.10 是 Ubuntu 的终止版本,因此官方 OCaml 网站再次建议坚持使用 Ubuntu 16.04 中默认 Ubuntu 存储库中的 ocaml 版本。官方 OCaml 网站上没有适用于 Linux 且与 Ubuntu 16.04 兼容的 OCaml 版本,该版本比官方 Ubuntu 存储库中的相同 ocaml 版本 4.02.3 更新。要在 Ubuntu 16.04 中获取高于 4.02.3 的版本,您需要安装开发版本。

答案2

我在 WSL 上运行 Ubuntu 16.04。正如 karel 所说,ocaml 位于 Ubuntu 16.04 的默认存储库中,并且正如她所说,这会安装 ocaml 4.02.x。

为了安装更高版本,请安装 opam 并使用它切换 ocaml 的版本。

> sudo apt install opam
> opam switch 4.06.0

我刚刚试过了。效果很好。

答案3

你可以从源代码安装 OCaml

$ sudo mkdir -p /usr/src/ocaml
$ cd /usr/src/ocaml
$ sudo wget https://caml.inria.fr/pub/distrib/ocaml-4.08/ocaml-4.08.1.tar.gz
$ sudo tar xzvf ocaml-4.08.1.tar.gz --strip-components 1
$ sudo ./configure
$ sudo make world.opt
$ sudo make install
$ sudo make clean

然后从源代码安装 Unison,并使用上面新安装的 Ocaml 版本进行编译

$ cd /usr/src/
$ sudo git clone https://github.com/bcpierce00/unison.git
$ cd /usr/src/unison
$ sudo make UISTYLE=text

根据你构建的源代码,unison 现在应该安装正确的版本,例如unison version 2.51.2 (ocaml 4.08.1)

$ unison -version

更多详细信息请见此处:https://github.com/markbil/linux-insights/blob/master/unison_ocaml_installFromSource.md

相关内容