預發佈建置
執行 Ghostty 的預發佈建置,協助測試最新功能並及時取得最新的 bug 修復。
如果你能接受執行預發佈軟體,你可以透過執行 Ghostty 的預發佈建置來協助測試最新功能並取得最新的 bug 修復。透過對新功能提供回饋並在公開發佈前發現可能的問題,這對專案幫助巨大。
Note
Ghostty 的私測期間,測試者們透過同樣的流程日常使用預發佈建置。許多人數月甚至一年多都沒有遇到任何問題。預發佈建置整體上是穩定的,但使用者仍應始終對可能出現的穩定性問題有所準備。
下表概述了如何安裝預發佈建置,更多細節見表格之後的各節。
| 平台 | 說明 |
|---|---|
| macOS | auto-update-channel 取得最新預發佈建置 |
| Arch Linux | AUR 上的 ghostty-git |
| NixOS/其他發行版上的 Nix | Ghostty 儲存庫內的 Flake |
| 其他 Linux 發行版 | 從原始碼建置 |
對 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 安裝預發佈建置,使用 @tip 版本即可。
brew install --cask ghostty@tip
Warning
這是社群維護的。
auto-update-channel設定才是官方散布通道。
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
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。