如何在 Windows 上使用 OPam 安装 OCaml?
3 回答
通过遵循以下网站的教程,我已经能够在 Windows 10 中使用 Opam 包管理器设置 OCaml 4.03.0:http: //fdopen.github.io/opam-repository-mingw/。以下是我执行的详细步骤:
安装 OCaml、Opam 和 Cygwin:
从此链接下载安装包:http: //fdopen.github.io/opam-repository-mingw/installation/。有 32 位和 64 位版本,但我建议安装 OCaml 64bit 。
运行图形安装文件时,会自动为你安装OCaml 4.02.3、Cygwin、Opam。
安装后,将在您的 Windows 桌面上创建 OCaml 和 Cygwin 的快捷方式。
现在,从 Windows 桌面的快捷方式打开 Cygwin 终端并执行以下操作:
为 Opam 安装一些必需的库:
opam install depext
opam install depext-cygwinports
使用 Opam 将您的 OCaml 升级到 4.03.0:
opam switch 4.03.0+mingw64
eval `opam config env`
Windows 上有 OCaml 4.03.0!
我能够使用 Windows Subsystem for Linux (WSL) 在 Windows 10 中运行 OCaml 和 Opam,没有任何问题。
这是一个非常详细的描述和说明 OCaml on Windows: The easy way
注意:文章OCaml on Windows 中的 2 个错别字:这篇文章的简单方法,当你遇到这两个指令时,请使用以下说明
nano .ocamlinit
(*添加一个额外的 inano .ocamlint
*)open Core.Std;;
(*从*中删除##open Core.Std;;
)
希望这对某人有帮助!
**最初的链接已被删除,所以这是内容
Windows 上的 OCaml:简单的方法
过去有很多方法可以在 Windows 上运行 OCaml,这里有一个广泛的列表。但是,它们都有缺点,无论是依赖其他人来更新安装程序二进制文件,还是为了运行 OCaml 而必须处理安装和管理 Cygwin。
幸运的是,随着 Windows Subsystem for Linux (WSL) 的发布,可以在 Windows 中轻松使用标准的 Ubuntu OCaml/OPAM,并将其与 Windows GUI 代码编辑器集成。本指南假定您已经设置了 WSL - 如果在按照本指南设置后未返回。
鉴于 Jane Street 的 Core 等基本模块如何使用 OCaml 进行任何实际工作,我们将安装 OPAM 包管理器和 Core 以及编译器。最终结果正是您开始出色的 Real World OCaml 指南所需的设置。
首先,我们需要下载并安装 ocaml 和 opam,我们需要将个人包存档 (ppa) 添加到 apt-get,因为官方 Ubuntu 存储库偶尔会出现问题。下面的代码将此私有仓库添加到 apt-get。
sudo add-apt-repository ppa:avsm/ppa
sudo apt-get update
然后只需使用 apt-get 安装 ocaml、opam 和 m4(安装程序正常工作还需要一个宏处理器)
sudo apt-get install ocaml opam m4
下一步是设置 opam。从 opam init 开始,它会要求您授予它更新 .ocamlinit 和 .profile 文件的权限。您只需对两者都回答“是”即可完成更改。
这使您可以使用 ocaml 命令运行基本的 REPL 循环。但是,要开始 Real World OCaml 指南,还需要一些额外的内容。我们通过 opam 使用以下命令安装这些附加功能:
opam install core utop
通常我们现在会添加环境变量以使用以下命令运行环境:
eval 'opam config env'
应该按照此处和此处的说明添加您需要的变量。但是,当我在 WSL 上尝试它时它不起作用,我认为这是 windows 和 linux 处理新行的方式不同的副作用。您可以通过运行命令然后 printenv 查看所有环境变量来亲自查看这一点 - 没有设置任何变量。
相反,如果我们使用这个命令:
eval "$(opam config env)"
然后所有命令都作为一个块传递给“eval”,因此整个事情的评估很干净,如果你运行 printenv 你应该看到所有需要的环境变量。
唯一剩下的就是通过编辑 .ocamlinit 文件来使用自定义 utop 设置 OCaml,该文件将位于您的主目录中。
旁注:如果您是 bash 新手,您可能会感到困惑,如果您在主目录中运行 ls,它不会出现。这是因为 . 在默认情况下隐藏它的文件名前面。如果您运行ls -a
,您将能够看到它。
用你最喜欢的文本编辑器打开这个文件,例如nano .ocamlinit
,然后添加这些行。这是一些 OCaml 代码,它将在初始化时执行,即每次启动 OCaml 环境时。
#use "topfind";;
#thread;;
#camlp4o;;
#require "core.top";;
#require "core.syntax";;
open Core.Std;;
现在一切都在做它应该做的事情——如果你运行 ocaml,你将得到加载核心模块的 utop,并准备好开始阅读优秀的 Real World OCaml 指南。
但是,还有最后一个皱纹。以这种方式设置环境变量是暂时的——如果你退出 WSL,然后用 bash 重新启动它,然后重新运行 printenv,你会看到你已经丢失了环境变量,并且 ocaml 命令现在将失败——无法找到 topfind 的路径,因为环境变量消失了。
为了解决这个问题,我们可以将命令添加eval "$(opam config env)"
到主文件夹中 .bashrc 文件的底部,每次登录时都会由 bash 运行。这样可以确保它自动运行,因此您只需登录并运行 ocaml 即可一个功能齐全的 ocaml 环境设置。如果您通过 opam switch 命令切换编译器,您将需要重新运行该命令或使用 exit 然后 bash 重新启动 shell 以将更改推送到环境变量并更新 OCaml 使用的版本。
您现在已准备好开始 Real World OCaml - 享受吧!这为您提供了 bash 下的 REPL 循环,这对学习很有帮助。但是,对于更严肃的程序,您需要编写一个 .ml 文件 - 下一部分(即将推出)涵盖使用 bash OCaml 环境从 Windows 中的 GUI 代码编辑器(例如 Visual Studio Code)进行构建。
Windows 10 CygWin64 标准 C 工具链 OCaml 4.02.3 + BuckleScript-1 ** 从源代码OPam编译的WebAssembly 规范/解释器
安装 CygWin 64 位setup-x86_64.exe
- 选择你的路径(在下面缩写为cwd),其他一切都只有默认或下一步
- 将安装程序移动到cwd
从Windows cmd 提示符安装标准 C 工具链所需的软件包
cwd>setup-x86_64.exe -q -P wget -P gcc-g++ -P make -P diffutils -P libmpfr-devel -P libgmp-devel -P libmpc-devel
编辑cwd/home\username\.bash_profile
,添加
export SHELLOPTS
set -o igncr
通过 Icon Cygwin64 终端启动
选择安装 BuckleScript git 的路径(以下缩写为bwd)
cd /cygdrive/bwd
git config --global core.eol lf
git config --global core.autocrlf false
git clone --recursive https://github.com/bloomberg/bucklescript
(克隆到/cygdrive/bwd/bucklescript
)
编辑 /cygdrive/bwd/bucklescript/.gittattribute
,添加
* text=auto
选择要构建 OCaml 编译器的路径(以下缩写为owd)
配置和制作
cd /cygdrive/owd/bucklescript/ocaml
./configure -prefix /owd
make world.opt
make install
安装 OPam
创建开关(打开问题,等待答案)
编译 bsc.exe(打开问题,等待答案)
安装 WebAssembly 规范解释器(WASM WAST 切换)
问题 WebAssembly/spec/interpreter/1052
... 要完成的!