预发布构建
运行 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。