預發佈建置

執行 Ghostty 的預發佈建置,協助測試最新功能並及時取得最新的 bug 修復。

如果你能接受執行預發佈軟體,你可以透過執行 Ghostty 的預發佈建置來協助測試最新功能並取得最新的 bug 修復。透過對新功能提供回饋並在公開發佈前發現可能的問題,這對專案幫助巨大。

Note

Ghostty 的私測期間,測試者們透過同樣的流程日常使用預發佈建置。許多人數月甚至一年多都沒有遇到任何問題。預發佈建置整體上是穩定的,但使用者仍應始終對可能出現的穩定性問題有所準備。

下表概述了如何安裝預發佈建置,更多細節見表格之後的各節。

平台說明
macOSauto-update-channel 取得最新預發佈建置
Arch LinuxAUR 上的 ghostty-git
NixOS/其他發行版上的 NixGhostty 儲存庫內的 Flake
其他 Linux 發行版從原始碼建置

macOS

對 macOS,Ghostty 專案為 main 分支上的最新提交提供簽署且經過公證的建置。它們透過 GitHub Releases提供,也透過標準的 macOS 自動更新機制提供。

如果你在 release 建置通道上,可以透過把 auto-update-channel設定為 tip 切換到預發佈通道。

auto-update-channel = tip

Tip

別忘了在更改 auto-update-channel 設定後重新啟動 Ghostty!該設定直到 Ghostty 重新啟動後才會生效。

Warning

雖然你隨時可以把該設定改回 stable,但這只在有新的穩定版可用時才會生效。如果你想降級回之前的穩定版,必須重新下載Ghostty。

Note

為什麼這個設定叫 "tip"? "tip" 一詞常用來指 Git 中某分支上的最新提交。因為我們從 main 分支的最新提交建置預發佈版本,所以我們用 "tip" 而不是類似 "nightly" 的詞來指代最新預發佈建置。

Homebrew

你也可以透過 Homebrew 安裝預發佈建置,使用 @tip 版本即可。

brew install --cask ghostty@tip

Warning

這是社群維護的。auto-update-channel 設定才是官方散布通道。

Linux

AUR

Warning

AUR 套件由社群維護。與打包或建置流程相關的任何問題應先回饋給 AUR 維護者,然後再回饋給 Ghostty 專案。

Arch 使用者套件庫(AUR)上的 [ghostty-git] 套件提供了一種便捷地自動建置並安裝最新 Ghostty 預發佈版本的方式。 [ghostty-git]: https://aur.archlinux.org/packages/ghostty-git

安裝可以用 AUR 助手,或按照一般 AUR 說明從原始碼進行。

# Install Ghostty git
yay -S ghostty-git

Nix Flake

Ghostty 儲存庫自帶一個 Flake,可用於以可重現的方式建置、執行與安裝 Ghostty 的開發("tip")版本,它由 Ghostty 維護者直接使用、測試與維護,是我們的主要開發與 CI 環境。

# Build and run the latest tip version of Ghostty without installing
nix run github:ghostty-org/ghostty

Note

由於 Nix 生態的限制,該 Flake 目前不支援 macOS 建置。更多細節見「預先建置二進位與套件」頁面中的 Nix(macOS 二進位) 一節。

Warning

如果你要在非 NixOS 系統上安裝該 Flake,務必閱讀關於在非 NixOS 系統上執行用 Nix 建置的 OpenGL 程式的重要注意事項。如果不採取其中的變通辦法,Ghostty 很可能無法啟動。

NixOS 使用者可以直接以 packages.<system>.default 下的套件形式安裝 Ghostty(其中 <system> 是你目前的主機系統,如 x86_64-linux),或者使用 overlays.default 處的 overlay。

{
  pkgs,
  inputs,
}:
{
  # Installing the package directly
  users.users.somebody.packages = [
    inputs.ghostty.packages.${pkgs.stdenv.hostPlatform.system}.default
  ];

  # Alternatively, using overlays:
  nixpkgs.overlays = [
    inputs.ghostty.overlays.default
  ];
  users.users.somebody.packages = [
    pkgs.ghostty
  ];
}

該 Flake 還公開了以不同最佳化設定編譯的 Ghostty,包括 ghostty-debug、ghostty-releasefast 與 ghostty-releasesafe:releasefast 是預設值;debug 以犧牲效能為代價啟用更好的除錯資訊;releasesafe 很少使用。

debug 與 releasefast 也可以作為 overlay 使用,分別位於 overlays.debug 與 overlays.releasefast。