预发布构建

运行 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。