在 Windows 上安装(本机)

前提

这些说明显示了在 Windows 中安装本机 OCaml 二进制文件的过程。如果你的操作系统是 Windows 10 (Insider Preview) build 14316 或更高版本,你也可以在 Windows 上的 Ubuntu 上通过 Bash安装 OCaml。在这种情况下,请按照说明在 Ubuntu 上安装 OCaml。

安装 OCaml 和 Opam

下载 OCaml 官方发行版 。它包含 OCaml 编译器和 Opam 数据包管理器。假设你已经在 C:/OCaml 中安装了该软件。为了确保你已经正确安装了 OCaml open cmd.exe 并输入 ocaml

如果你看到消息'ocaml' is not recognized as an internal or external command, operable program or batch file,则需要将 C:/OCaml/bin 添加到路径(环境变量)。

将 OCaml 二进制文件添加到路径

Control Panel > System and Security > System > Advanced system settings (on the left) > Environment Variables 然后在 System Variable 选项卡中选择 Path,然后选择 Edit

C:/OCaml/bin; 添加到列表中。

安装 Cygwin

没有 Cygwin 你就不能使用 Opam。事实上,如果你试图在 cmd.exe 中打开 Opam 输入 opam,它会显示一条消息:Fatal error: exception Unix.Unix_error(20, "create_process", "cygcheck")

下载 Cygwin 并启动安装程序。请务必检查以下包裹:

  • automake 的
  • diffutils 的
  • libreadline
  • 使
  • M4
  • mingw64-x86_64 的 -GCC 核心
  • mingw64-x86_64 的 -GMP
  • mingw64-x86_64 的,OpenSSL 的
  • mingw64-x86_64 的 -pkg 配置
  • mingw64-x86_64 的 -sqlite3 的
  • 补丁
  • rlwrap
  • 拉开拉链
  • wget 的

假设你已经在 C:/cygwinC:/cygwin64 for 64bit 版本)中安装了该软件。打开 cmd 并键入 wget(或 C:/cygwin/bin 中存在的可执行文件之一)以检查是否可以使用 Cygwin 可执行文件。如果可执行文件无法打开,请将 C:/cygwin/bin 添加到路径(环境变量)。

配置 Opam

打开 cmd.exe 并键入 opam init 以配置 Opam。

然后安装 ocamlfind(OCaml 编译器的一部分)

opam install ocamlfind
opam config env

检查是否安装了 ocamlfind,在 cmd.exe 中输入。

命令 opam config env 用于将 opam 的可执行文件目录添加到环境路径。如果退出后你无法再访问 ocamlfind,你可以手动添加它,添加到以下行的路径:C:/Users/<your user>/Documents/.opam/system/bin/

安装包

使用命令 opam install xyz 通过 Opam 安装软件包,其中 xyz 是软件包的名称。

安装 UTop

尝试运行命令 opam install utop。如果没有错误,则键入 utop 将打开可执行文件。

如果你看到了这条消息

[ERROR] The compilation of zed failed at "ocaml setup.ml -build".

你必须手动安装单个包。再试一次输入:

opam install zed
opam install lambda-term
opam install utop

lambda-termutop 都可能无法安装。请参阅疑难解答部分。

安装 Core

你可以用 opam install core 安装 core 包。在 Windows 64 位版本(和 64 位 Cygwin)上,你将看到以下错误:

[ERROR] core is not available because your system doesn't comply with os != "win32" & ocaml-version = "4.02.3".

疑难解答:无法创建常规文件

如果名称为 xyz.10.1 的软件包无法安装(其中 xyz 是软件包的名称,10.1 其版本),则显示以下消息:

install: cannot create regular file '/cygdrive/c/Users/<your user>/Documents/.opam/system/bin/<something>': File exists

你必须进入这个目录:

C:\Users\<your user>\Documents\.opam\repo\default\packages\<xyz>\<xyz.10.1>\files 

并删除文件 xyz.10.1.install

疑难解答:无法加载共享库

如果你试图打开一些 Opam 的包(例如:utop),你会看到这个错误:

Fatal error: cannot load shared library dlllwt-unix_stubs
Reason: The specified module could not be found.

再次运行 opam config env 并尝试重新打开可执行文件。