如何在Windows上安装带有OPam的OCaml?

时间:2016-09-18 16:51:57

标签: windows install ocaml opam

如何在Windows上安装带有OPam的OCaml?

3 个答案:

答案 0 :(得分:5)

我已经能够使用Opam软件包管理器在Windows 10中设置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 64位。

    • 运行图形安装文件时,会自动为您安装OCaml 4.02.3,Cygwin,Opam。

    • 安装完成后,将在Windows桌面上创建OCaml和Cygwin的快捷方式。

  • 现在,从Windows桌面的快捷方式打开Cygwin终端并执行以下操作:

    • 为Opam安装一些必需的库:

      • filterList = products.map(function(product, key) { if (product.charAt(0) !== letter) { letter = product.charAt(0); var count = products.filter(function(value) { return value.charAt(0) === letter}).length; return ( <FilterItem type="header" header={letter} field={filter} count={count} key={key}/> <FilterItem type="item" field={filter} name={product} key={key}/> ) } else { return <FilterItem type="item" field={filter} name={product} key={key}/> }
      • opam install depext
    • 使用Opam将您的OCaml升级到4.03.0:

      • opam install depext-cygwinports
      • opam switch 4.03.0+mingw64

你在Windows上有OCaml 4.03.0!

答案 1 :(得分:3)

我能够使用Windows子系统Linux(WSL)在Windows 10中运行OCaml和Opam而没有任何问题。

这是一个非常详细的描述和说明 OCaml on Windows: The easy way

注意:截至本文的文章OCaml on Windows: The easy way中有2个拼写错误,当您遇到这两条说明时请使用以下

  1. nano .ocamlinit(*添加额外的i nano .ocamlint *)
  2. open Core.Std;;(*从#open Core.Std;;删除#)
  3. 希望这有助于某人!

    **删除了初始链接,所以这里是内容

    Windows上的OCaml:简单方法

    过去有很多方法可以在Windows上运行OCaml,这里有很多列表。但是,它们都有缺点,无论是否依赖其他人更新安装程序二进制文件,或者只是为了运行OCaml而必须处理安装和管理Cygwin。

    幸运的是,随着Windows子系统Linux(WSL)的发布,可以在Windows中轻松使用标准的Ubuntu OCaml / OPAM,并将其与Windows GUI代码编辑器集成。本指南假设您已经设置了WSL - 如果不按照本指南进行设置后再回来。

    鉴于Jane Street等核心基础模块如何与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文件来设置OCaml和自定义utop,该文件将位于您的主目录中。

    备注:如果您是bash的新用户,可能会感到困惑的是,如果您在主目录中运行ls,则不会出现这种情况。这是因为。在默认情况下隐藏它的文件名前面。如果您运行ls -a,您将能够看到它。

    使用您喜欢的文本编辑器打开此文件,例如nano .ocamlinit,然后添加这些行。这是一些OCaml代码,它将在初始化时执行,即每次启动OCaml环境时都会执行。

    #use "topfind";;
    #thread;;
    #camlp4o;;
    #require "core.top";;
    #require "core.syntax";;
    open Core.Std;;
    

    现在一切都在做它应该做的事情 - 如果你运行ocaml,你将获得加载了Core模块的utop,并准备开始使用优秀的Real World OCaml指南。

    然而,最后一个皱纹。以这种方式设置环境变量是暂时的 - 如果你退出WSL然后用bash重新启动它然后重新运行printenv你将看到你丢失了环境变量,ocaml命令现在将失败 - 无法找到topfind的路径,因为环境变量已经消失。

    要解决此问题,我们可以将命令eval "$(opam config env)"添加到您的主文件夹中.bashrc文件的底部,该文件夹在每次登录时由bash运行。这可确保它自动运行,以便您只需登录并运行ocaml即可设置功能齐全的ocaml环境。如果通过opam switch命令切换编译器,则需要重新运行命令或使用exit重新启动shell,然后使用bash将更改推送到环境变量并更新OCaml使用的版本。

    您现在已准备好启动Real World OCaml - 尽情享受吧!这为您提供了bash下的REPL循环,这对学习很有帮助。但是,对于更严肃的程序,您需要编写.ml文件 - 下一部分(即将推出)包括使用Windows中的GUI代码编辑器(如Visual Studio Code)使用bash OCaml环境进行构建。

答案 2 :(得分:0)

Windows 10 CygWin64 标准C工具链 OCaml 4.02.3 + BuckleScript-1 ** ** WebAssembly规范/解释器 从源代码编译 OPam

安装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

通过图标 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切换)

issue WebAssembly/spec/interpreter/1052

...待完成!