前言
本文將引導讀者一步步從零開始建立完整的 OCaml 開發環境。
由於 OCaml 工具鏈(Toolchain)高度依賴 POSIX 環境,因此在 GNU/Linux 上的支援度與體驗普遍優於 Windows。為了讓流程更順暢,本文將先介紹 GNU/Linux 的建置步驟,隨後再說明 Windows 環境下的配置方法。
在 GNU/Linux 安裝 OCaml
使用系統套件管理工具
使用系統內建的套件管理工具安裝最為簡便,不過套件庫中的 OCaml 版本可能會比官方稍微舊一些。若您目前處於學習基礎語法的階段,暫時不需要過於在意版本號的差異。
以 Ubuntu / Debian 系統為例,請執行以下指令:
$ sudo apt install ocaml-platform
提示: GNU/Linux 發行版通常會將軟體拆分為多個獨立套件。為了獲得最完整的開發體驗,建議直接安裝上述的元套件(Meta-package)。
使用 opam 套件管理工具
opam 是 OCaml 官方的套件管理程式。首先,下載並執行 opam 的安裝腳本:
$ bash -c "sh <(curl -fsSL https://opam.ocaml.org/install.sh)"
此腳本會下載一個靜態二進位檔案,您只需要將它放置於系統的任一環境變數路徑(PATH)即可。
接著,初始化 opam 並安裝預設版本的 OCaml:
$ opam init
在初始化過程中,終端機會出現一些互動式提問,請依據您的實際環境與需求回答(通常直接按 Enter 選擇預設值即可)。
以 Bash 編輯器為例,opam 會自動在您的 ~/.bashrc 檔案中寫入以下配置,用以設定環境變數:
test -r '/home/user/.opam/opam-init/init.sh' && . '/home/user/.opam/opam-init/init.sh' > /dev/null 2> /dev/null || true
配置完成後,系統便會開始編譯並安裝 OCaml。這個步驟會花費較長的時間,您可以先喝杯咖啡稍作休息。
安裝完成後,建議一次性裝齊核心開發工具:
$ opam install dune ocaml-lsp-server odoc ocamlformat utop
建議: 強烈建議將上述工具全部安裝,這能確保您隨後在閱讀各類 OCaml 教學時,擁有完整的開發體驗。
此外,以下套件主要用於自動設定文字編輯器(如 Emacs 或 Vim),您可以自由決定是否安裝:
$ opam install user-setup
在 Windows 安裝 OCaml
在 Windows 上原生開發 OCaml 通常需要依賴 MSYS2 環境,編譯速度會相對較慢。因此,建議平時在 WSL(Windows Subsystem for Linux)或 Linux 原生環境中進行程式碼編寫與測試,直到最後需要將二進位檔(Binary)移植到 Windows 時,再開啟 MSYS2 進行專案編譯。
安裝 MSYS2
您可以前往 MSYS2 官方網站下載安裝程式並依指示完成安裝,或者直接使用 Chocolatey 套件管理工具進行快速安裝:
> choco install msys2
安裝 opam 套件管理工具
請前往 opam 的 GitHub Release 頁面下載適用於 Windows 的版本,並將其放置於您的系統環境變數路徑(PATH)中。在 MSYS2 環境下,常見的放置位置為 /usr/local/bin 或 $HOME/bin。
安裝 OCaml
Windows 下的安裝流程與 GNU/Linux 大同小異,在此不再重複贅述。
⚠️ 重要注意事項
在執行安裝時,由於您已經處於 MSYS2 的 POSIX 相容環境中,請特別注意不要讓 opam 重複下載或安裝另一套 POSIX 環境,直接使用環境內現有的開發工具進行編譯即可。
指定 OCaml 編譯器版本(Switch)
若您的專案有跨平台部署的需求,或者需要與團隊成員協作,可以透過指定 OCaml 編譯器的版本號,來確保所有環境都具備完全相同的語法特性與相容性。
首先,列出所有目前可供安裝的 OCaml 版本:
$ opam switch list-available
接著,建立並安裝特定版本的編譯器環境。這裡以 5.4.1 版本為例:
$ opam switch create 5.4.1 ocaml-base-compiler.5.4.1
提示: 編譯過程同樣需要花費一些時間,可以先喝杯咖啡稍作休息。
安裝完成後,將當前的開發環境切換並鎖定至該版本,並更新環境變數:
$ opam switch set 5.4.1
$ eval $(opam env)
設置專案系統需求
💡 溫馨提示: 本文內所列出的版本號,均為琴子在撰寫此文當下的 OCaml 預設配置,日後官方版本必然會持續變動。實際佈署時,請務必依據官方與您專案的最新狀態自行確認。
為了確保專案在跨平台時能順利運作,您可以根據專案定位選擇以下兩種版本策略:
保持最大相容性
- 建議版本: OCaml
4.14.4+
這是目前 Windows 環境下 OCaml 的預設版本,同時也是官方長期支援的 LTS(Long-Term Support)版本。
由於 Windows 對新版 OCaml 的原生支援稍微滯後,若您的專案有 Windows 原生編譯需求,建議以此版本作為最低相容性基準。
追求最新語言特性
- 建議版本: OCaml
5.4.1+(或更高)
這是目前 GNU/Linux 環境下的主流預設版本。
如果您的專案主要運行在 Linux、WSL 或雲端容器環境,建議將專案鎖定在此版本分支。如此一來,便能完整享受多核心並行(Multicore Parallelism)、效能優化與各項最新的語法特性。