安裝 OCaml

本指南將引導您完成 OCaml 的最低限度安裝。這包括安裝套件管理器和編譯器本身。我們還將安裝一些平台工具,例如建置系統、對編輯器的支援,以及其他一些重要的工具。

在本頁中,您會找到適用於 Linux、macOS、Windows 和 *BSD 的最新 OCaml 版本的安裝說明。對於 Docker,Linux 指令適用,但設定 opam 時除外。

注意:您將透過命令列介面 (CLI) 或 shell安裝 OCaml 及其工具

安裝 opam

OCaml 有一個官方的套件管理器 opam,它允許使用者下載並安裝 OCaml 工具和函式庫。Opam 還可以實際處理需要不同 OCaml 版本之不同的專案。

Opam 也會安裝 OCaml 編譯器。雖然有替代方案,但 opam 是安裝 OCaml 的最佳方式。儘管 OCaml 在大多數 Linux 發行版中都作為套件提供,但它通常已過時。

要安裝 opam,您可以使用您的系統套件管理器或下載二進位發行版。詳細資訊可在這些連結中找到,但為了方便起見,我們使用套件發行版

適用於 macOS

如果您使用 Homebrew 安裝

$ brew install opam

或者您使用 MacPorts

$ port install opam

注意:雖然使用 macOS 安裝 opam 相當簡單,但您稍後可能會因 Homebrew 變更安裝方式而遇到問題。執行檔無法在 ARM64 中找到,即較新 Mac 中使用的 M1 處理器。解決此問題可能是一個相當複雜的過程,因此我們製作了一份簡短的 ARM64 修正文件,說明這一點,以免影響本安裝指南。

適用於 Linux

最好在 Linux 上使用系統的套件管理器以超級使用者身分安裝 opam。在 opam 網站上,找到所有安裝方法的詳細資訊。在所有支援的 Linux 發行版中,都封裝了 2.0 以上版本的 opam。如果您使用不支援的 Linux 發行版,請下載預編譯的二進位檔或從原始碼建置 opam。

如果您正在 Debian 或 Ubuntu 中安裝

$ sudo apt-get install opam

如果您正在 Arch Linux 中安裝

$ sudo pacman -S opam

注意:opam 的 Debian 套件(也用於 Ubuntu)將 OCaml 編譯器作為建議的相依性。依預設,會安裝此類相依性。如果您只想安裝 opam 而不安裝 OCaml,您需要執行類似這樣的操作

sudo apt-get install --no-install-recommends opam

適用於 Windows

使用 WinGet 安裝 opam 最容易

PS C:\> winget install Git.Git OCaml.opam

二進位發行版

如果您想要 opam 的最新版本,請透過二進位發行版安裝。在 Unix 和 macOS 上,您需要先安裝以下系統套件:gccbuild-essentialcurlbubblewrapunzip。請注意,它們的名稱可能因您的作業系統或發行版而異。另請注意,此指令碼會在內部呼叫 sudo

以下命令將安裝適用於您系統的最新 opam 版本

$ bash -c "sh <(curl -fsSL https://opam.ocaml.org/install.sh)"

在 Windows 上,winget 套件由 opam 的開發人員維護,並使用GitHub 上發布的二進位檔,但您也可以使用等效的 PowerShell 指令碼進行安裝

Invoke-Expression "& { $(Invoke-RestMethod https://opam.ocaml.org/install.ps1) }"

進階 Windows 使用者:如果您熟悉 Cygwin 或 WSL2,則在Windows 上的 OCaml頁面上還有其他安裝方法。

初始化 opam

安裝 opam 後,您需要將其初始化。為此,請以一般使用者身分執行以下命令。這可能需要幾分鐘才能完成。

$ opam init -y

注意:如果您在 Docker 容器內執行 opam init,則需要停用沙箱,方法是執行 opam init --disable-sandboxing -y。除非您執行特權 Docker 容器,否則這是必要的。

請務必遵循 opam init 輸出末尾提供的說明,以完成初始化。通常,這是

$ eval $(opam env)

在 Unix 上,以及從 Windows 命令提示字元

for /f \"tokens=*\" %i in ('opam env') do @%i

或從 PowerShell

(& opam env) -split '\r?\n' | ForEach-Object { Invoke-Expression $_ }

Opam 初始化可能需要幾分鐘。在等待安裝和設定完成時,請開始閱讀 OCaml 導覽

注意:opam 可以管理稱為交換器的東西。這是在多個 OCaml 專案之間切換時的關鍵。但是,在本「開始使用」系列教學中,不需要交換器。如果您有興趣,可以在此處閱讀 opam 交換器的簡介

安裝時遇到任何問題嗎? 請務必閱讀最新版本說明。您可以在 https://github.com/ocaml/opam/issues 或 https://github.com/ocaml-windows/papercuts/issues 提出問題。

安裝平台工具

現在我們已成功安裝 OCaml 編譯器和 opam 套件管理器,讓我們安裝一些OCaml 平台工具,您需要這些工具才能在 OCaml 中獲得完整的開發人員體驗

  • UTop,一個現代化的互動式 toplevel (REPL:讀取-求值-列印迴圈)
  • Dune,一個快速且功能完整的建置系統
  • ocaml-lsp-server 實作語言伺服器協定,以啟用對 OCaml 的編輯器支援,例如在 VS Code、Vim 或 Emacs 中。
  • odoc 從 OCaml 程式碼產生文件
  • OCamlFormat 自動格式化 OCaml 程式碼

所有這些工具都可以使用單一命令安裝

$ opam install ocaml-lsp-server odoc ocamlformat utop

現在您已準備就緒,可以開始編寫程式碼了。

檢查安裝

要檢查一切是否正常運作,您可以啟動 UTop toplevel

$ utop
────────┬─────────────────────────────────────────────────────────────┬─────────
        │ Welcome to utop version 2.13.1 (using OCaml version 5.1.0)!        └─────────────────────────────────────────────────────────────┘

Type #utop_help for help about using utop.

─( 00:00:00 )─< command 0 >──────────────────────────────────────{ counter: 0 }─
utop #

現在您已進入 OCaml toplevel,您可以開始輸入 OCaml 運算式。例如,嘗試在 # 提示字元處輸入 21 * 2;;,然後按下 Enter。您會看到以下內容

# 21 * 2;;
- : int = 42

恭喜!您已安裝 OCaml!🎉

加入社群

請務必加入 OCaml 社群。您會在 DiscussDiscord 上找到許多社群成員。如果您有任何問題,這些都是尋求協助的好地方。

仍然需要協助嗎?

協助改善我們的文件

所有 OCaml 文件都是開放原始碼。看到錯誤或不清楚的地方嗎?提交提取請求。

OCaml

創新。社群。安全性。