使用 opam 和 ocaml 的问题
Problems using opam and ocaml
我正在使用 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)
command 我可以安装它但是它会提示我在哪里安装它,
但我必须自动安装,这样用户端就没有交互。有办法吗?
更新 2:
找到了一种使用 ppa 的方法,请参阅我的答案。
好吧,正如日志所说,您必须将 OPAM 更新为 2.x。不再支持旧版本。所以你必须遵循 installation instructions 并更新你的 OCaml。
我尝试使用 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 版(最新的 ppa)。请按照以下命令执行具体过程。
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`
在此之后一切都应该是最新的。
我正在使用 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)
command 我可以安装它但是它会提示我在哪里安装它, 但我必须自动安装,这样用户端就没有交互。有办法吗?
更新 2:
找到了一种使用 ppa 的方法,请参阅我的答案。
好吧,正如日志所说,您必须将 OPAM 更新为 2.x。不再支持旧版本。所以你必须遵循 installation instructions 并更新你的 OCaml。
我尝试使用 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 版(最新的 ppa)。请按照以下命令执行具体过程。
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`
在此之后一切都应该是最新的。