在 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:/cygwin
(C:/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-term
和 utop
都可能无法安装。请参阅疑难解答部分。
安装 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
并尝试重新打开可执行文件。