簡體   English   中英

如何在Windows上安裝帶有OPam的OCaml?

[英]How can I install OCaml with OPam on windows?

如何在Windows上安裝帶有OPam的OCaml?

我已經能夠使用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安裝一些必需的庫:

      • 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子系統Linux(WSL)在Windows 10中運行OCaml和Opam而沒有任何問題。

這是Windows上非常詳細的描述和指令OCaml:簡單的方法

注意: Windows上的文章OCaml中有 2個拼寫錯誤截至本文的簡單方法 ,當您遇到這兩個說明時請使用以下內容

  1. nano .ocamlinit (*添加額外的i nano .ocamlint *)
  2. open Core.Std;; (*從#open Core.Std;;刪除# #open Core.Std;; *)

希望這有助於某人!

**刪除了初始鏈接,所以這里是內容

Windows上的OCaml:簡單的方法

過去有很多方法可以在Windows上運行OCaml,這里有很多列表。 但是,它們都有缺點,無論是依賴別人來更新安裝程序二進制文件,還是必須處理安裝和管理Cygwin只是為了運行OCaml。

幸運的是,隨着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使用的版本。

你現在准備開始真實世界OCaml - 享受! 這為您提供了bash下的REPL循環,這對學習很有幫助。 但是,對於更嚴肅的程序,您需要編寫.ml文件 - 下一部分(即將推出)包括使用Windows中的GUI代碼編輯器(如Visual Studio Code)使用bash OCaml環境進行構建。

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

從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

... 要完成的!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM