如何在windows上安装带有OPam的OCaml?
如何在windows上安装带有OPam的OCaml?我已经能够使用OPam软件包管理器在windows 10中安装OCaml 4.03.0,方法是遵循此网站上的教程:。以下是我所做的详细步骤:如何在windows上安装带有OPam的OCaml?,windows,installation,ocaml,opam,Windows,Installation,Ocaml,Opam,如何在windows上安装带有OPam的OCaml?我已经能够使用OPam软件包管理器在windows 10中安装OCaml 4.03.0,方法是遵循此网站上的教程:。以下是我所做的详细步骤: 安装OCaml、Opam和Cygwin: 从以下链接下载安装包:。 有32位和64位版本,但我建议安装OCAML64位 运行图形安装文件时,它将自动为您安装OCaml 4.02.3、Cygwin和Opam 安装后,将在Windows桌面上创建OCaml和Cygwin的快捷方式 现在,从Windows
- 安装OCaml、Opam和Cygwin:
- 从以下链接下载安装包:。 有32位和64位版本,但我建议安装OCAML64位
- 运行图形安装文件时,它将自动为您安装OCaml 4.02.3、Cygwin和Opam
- 安装后,将在Windows桌面上创建OCaml和Cygwin的快捷方式
- 现在,从Windows桌面上的快捷方式打开Cygwin终端,并执行以下操作:
- 为Opam安装一些必需的库:
opam安装依赖文本
opam安装depenxt cygwinport
- 使用Opam将您的OCaml升级到4.03.0:
opam开关4.03.0+mingw64
eval`opam config env`
- 为Opam安装一些必需的库:
在Windows上有OCaml 4.03.0 我能够使用Windows Linux子系统(WSL)在Windows 10中运行OCaml和Opam,没有任何问题 这里有一个非常详细的描述和说明 注意:在这篇文章中有2个打字错误,当你遇到这两个说明时,请使用下面的说明
nano.ocamlint
(*添加一个额外的inano.ocamlint
*)opencore.Std代码>(*从#open Core.Std;
*中删除)
sudo add-apt-repository ppa:avsm/ppa
sudo apt-get update
然后只需使用apt get安装ocaml、opam和m4(安装程序正常工作还需要一个宏处理器)
下一步是设置opam。从opam init开始,它将要求您授予它更新.ocamlinit和.profile文件的权限。您可以简单地对两者都回答“是”,以完成更改
这使您可以使用ocaml命令运行基本的REPL循环。然而,要开始真正的OCaml指南,还需要一些额外的细节。我们使用以下命令通过opam安装这些附加组件:
opam install core utop
eval 'opam config env'
通常,我们现在会添加环境变量,以使用以下命令运行环境:
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,并准备好开始使用优秀的真实世界ocaml指南
然而,还有最后一条皱纹。以这种方式设置环境变量是暂时的-如果退出WSL,然后用bash重新启动它,然后重新运行printenv,您将看到环境变量已丢失,ocaml命令现在将失败-无法找到topfind的路径,因为环境变量已丢失
要解决此问题,我们可以将命令eval“$(opam config env)
添加到主文件夹中.bashrc文件的底部,该文件在每次登录时由bash运行。这可以确保它自动运行,这样您就可以登录并运行ocaml,以设置一个功能齐全的ocaml环境。如果通过opam switch命令切换编译器,则需要重新运行该命令或使用exit和bash重新启动shell,以将更改推送到环境变量并更新OCaml使用的版本。export SHELLOPTS
set -o igncr
cd /cygdrive/bwd
git config --global core.eol lf
git config --global core.autocrlf false
git clone --recursive https://github.com/bloomberg/bucklescript
* text=auto
cd /cygdrive/owd/bucklescript/ocaml
./configure -prefix /owd
make world.opt
make install