在本機安裝 Unison

了解如何在本機安裝 Unison,好在自己的電腦上解 Exercism 的練習


安裝選項

最新的 Unison 版本已推出 Mac OS X、64 位元 Linux 與 Windows 版!如果你正在試用 Unison,我們很希望你能到 Exercism 論壇或 Unison Discord 來跟我們聊聊。歡迎來提問,也歡迎回報你遇到的問題!我們希望你在起步時能有友善又正面的體驗!😊

Unison 可以透過 homebrew、Nix 下載,也可以直接使用打包好的二進位檔。以上所有下載方式都說明在我們網站的安裝說明頁面中。安裝好 UCM 之後,再回到這裡就行了!

選項 1:使用 Homebrew

如果還沒安裝,請先安裝 homebrew。

接著在命令列輸入以下指令:

brew tap unisonweb/unison
brew install unison-language

這會安裝 Unison 程式碼庫管理員執行檔 ucm。如果你是從舊版本升級,只要執行

brew upgrade unison-language.

注意:如果這時系統要求你輸入 GitHub 的使用者名稱與密碼,請確認你把 unisonweb/unison 拼對了。

選項 2:Mac 與 Linux 使用者手動安裝

Linux 與 Mac 的手動安裝連結在這裡,位於各自的 Linux 與 Mac 手動下載區段中。

你會在 shell 中執行像下面這樣的指令,不過最新的二進位檔請以上方連結裡的為準:

mkdir unisonlanguage
curl -L https://github.com/unisonweb/unison/releases/download/release_VERSION_NAME/ucm-YOUR_PLATFORM.tar.gz --output unisonlanguage/ucm.tar.gz
tar -xzf unisonlanguage/ucm.tar.gz -C unisonlanguage
./unisonlanguage/ucm

選項 3:Windows 使用者手動安裝

  1. 為了獲得最佳體驗,請把預設終端機應用程式設為「Windows Terminal」。在設定中搜尋「Terminal」,或參照這篇操作說明。
  2. 如果你不確定自己是否已經安裝 Git,請先安裝:
  • 透過 winget:winget install --id Git.Git -e --source winget
  • 如果你使用的是 Windows 10 而且沒有 winget,可以從Microsoft Store 安裝,接著再執行上面的指令。
  1. 用這裡提供的連結下載 UCM,並解壓縮到你選擇的位置。
  2. 執行 ucm.exe

選項 4:使用 Nix 安裝

前往 https://github.com/ceedubs/unison-nix/#usage,並依照那裡 readme 中的指示操作。

建立你的 Unison 程式碼庫

執行 ucm,即可在 $HOME/.unison 初始化一個 Unison 程式碼庫。Unison 會在這個位置存放函式定義、型別、命名空間等等。預設情況下,Unison 程式碼庫管理員(縮寫為「UCM」)會開始下載名為 base 的標準函式庫,你會用它來撰寫 Unison 程式碼。這可能需要一點時間!🕰

Unison 工作流

當你想撰寫 Unison 程式碼時,執行 ucm 指令來啟動程式碼庫管理員。UCM 接著會監看它被啟動時所在目錄下任何副檔名為 .u 的檔案是否有變更。舉例來說,你可能會在 ~/exercism/unison/my-exercise/ 目錄下一個名為 scratch.u 的檔案裡實作函式。你應該 cd 到 ~/exercism/unison/my-exercise/,然後執行 ucm。這樣就能確保 UCM 會監看 scratch.u 檔案的變更。

如果你不確定 ucm 監看的是哪個目錄下的檔案變更,啟動 CLI 時的歡迎畫面會把它印出來。

👀 I'm watching for changes to .u files under /Users/myUser/exercism/unison/my-exercise

這裡有更多工作流技巧!

編輯器支援

你可以用任何文字編輯器撰寫 .u 檔案。Unison 有 LSP 支援,所以你慣用的 IDE 能提供滑鼠懸停顯示型別、自動補全等功能。以下是幾個支援 Unison 的熱門編輯器:

Vim

使用 vim-plug:

  1. 如果還沒安裝,請先安裝 vim-plug。
  2. 在你的 .vimrc 加入這一行:Plug 'unisonweb/unison', { 'branch': 'trunk', 'rtp': 'editor-support/vim' }
  3. 執行 vim 指令 :PlugInstall。

如果想知道更多資訊,可以在 vim 中執行 :help unison,或參閱線上說明文件。

Atom

在主控台執行:

apm install unisonweb/atom-unison

VS Code

  1. 點擊 VS Code 側邊 Activity Bar 上的 Extensions 圖示,或按下 ⇧⌘X,即可開啟 Extensions 檢視。
  2. 搜尋「unison」
  3. 安裝 Unison VS Code 擴充功能

Emacs

安裝 unison-mode。