news 2026/9/10 15:42:31

Starship 高级安装指南:Windows、Termux、Funtoo 与 Nix 平台专项部署

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Starship 高级安装指南:Windows、Termux、Funtoo 与 Nix 平台专项部署

Starship 高级安装指南:Windows、Termux、Funtoo 与 Nix 平台专项部署

【免费下载链接】starship☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!项目地址: https://gitcode.com/GitHub_Trending/st/starship

Starship 是一款用 Rust 编写的跨 shell 极简提示符(prompt),适用于 bash、zsh、fish、PowerShell 等几乎所有主流 shell。绝大多数用户只需按照主文档的安装章节执行即可,但对于 Windows(Chocolatey)、Android(Termux)、Funtoo Linux 与 Nix 生态等特殊平台,需要单独的部署方式。本文以 docs/no-NO/installing/README.md 的进阶安装说明为主线,逐平台给出可直接复制的安装命令与配置片段,并结合本仓库的安装脚本与源码说明其底层工作原理,帮助你在这类平台上顺利跑起 Starship。

安装的本质:两步走

无论使用哪种平台,Starship 的安装都只包含两件事:

  1. starship可执行文件安装到你的机器上;
  2. 修改对应 shell 的初始化脚本,让 shell 启动时加载 starship 作为提示符。

对于大多数用户,README.md 主文档中的安装步骤即可直接使用;而本指南针对的是主文档未覆盖或需要特殊处理的平台,这些安装方式大多来自社区维护的包管理器与仓库。仓库根目录的 install.sh 是官方通用安装脚本,支持 Linux、macOS、Windows(Git Bash)、FreeBSD 等平台,可作为对照参考;docs/installing/README.md保留了该指南的英文原版,本文基于其挪威语译本(docs/no-NO/installing/README.md)展开,两者内容一致。

Windows 平台:通过 Chocolatey 安装

前置条件

Chocolatey 是 Windows 上的包管理器。如果尚未安装,请先前往 Chocolatey 官网的安装页面,按其指引完成安装(通常是在管理员 PowerShell 中执行一条安装命令)。

安装命令

管理员权限打开 PowerShell,执行:

choco install starship

该命令会从 Chocolatey 社区源拉取 starship 包并静默安装,安装完成后按提示配置 PowerShell profile 即可。

仓库源码佐证:Chocolatey 包的结构

本仓库的 install/windows/choco 目录维护着该包的构建源,共 4 个文件:

  • starship.nuspec:包元数据,声明包名starship、作者、版本、标签(powershell prompt starship pwsh)等,并指定把tools目录内容打入包内;
  • chocolateyInstall.install.ps1:安装脚本,通过Install-ChocolateyPackage安装 MSI 包。脚本中值得注意的细节:
    • 区分 32 位(url/checksum)与 64 位(url64bit/checksum64)下载地址,并使用sha256校验和验证包完整性;
    • 静默参数为/qn /norestart,可接受退出码0、3010、1641(其中 3010/1641 表示"成功但需重启");
    • 安装完成后脚本会提示向 PowerShell profile 追加Invoke-Expression (&starship init powershell)
  • chocolateyInstall.portable.ps1:便携版安装脚本,改用Install-ChocolateyZipPackage下载 zip 压缩包并解压到包工具目录,同样是 sha256 校验;
  • update.ps1:包版本更新脚本。

这解释了为什么choco install starship能一步到位:包内已经内置了下载、校验、解压/静默安装乃至后续配置提示的完整流程。

Android:通过 Termux 安装

在 Android 上,Starship 通过 [Termux] 终端模拟器的包管理器安装:

pkg install starship

Termux 的软件源中已收录 starship,安装后同样需要在 Termux 使用的 shell(默认 bash)初始化脚本中追加配置。Termux 也被收录在主文档 README.md 的 Android 安装表格中,与这里给出的命令一致。

Funtoo Linux:通过 Portage 安装

Funtoo Linux 是 Gentoo 的衍生发行版,使用 Portage 包管理系统。Starship 已被收录在 core-kit 的app-shells/starship包中,直接 emerge 即可:

emerge app-shells/starship

主文档 README.md 的 Linux 安装表中同样列出了 Gentoo 的emerge app-shells/starship方式,Funtoo 与其同源,命令完全一致。

Nix 生态:三种安装方式

Nix 用户有三种安装 Starship 的方式:命令式安装、通过 home-manager 声明式安装(单用户)、以及通过 NixOS 系统级声明式安装。

命令式安装(Imperative)

nix-env -iA nixos.starship

-A指定属性路径nixos.starship,直接从 nixpkgs 中安装 starship,无需修改任何配置文件,适合快速试用。

通过 home-manager 声明式安装(单用户)

如果你使用 [home-manager] 管理家目录配置,在home.nix中启用programs.starship模块并填写设置:

{ programs.starship = { enable = true; # 配置会写入 ~/.config/starship.toml settings = { # add_newline = false; # character = { # success_symbol = "➜"; # error_symbol = "➜"; # }; # package.disabled = true; }; }; }

然后执行:

home-manager switch

settings中的内容会被 home-manager 渲染成~/.config/starship.toml,因此这里直接写 TOML 风格的键值即可。示例中注释掉的character.success_symbol/error_symbol对应仓库 src/configs/character.rs 中字符模块的配置项,package.disabled = true则对应 src/configs/package.rs 的软件包模块开关——启用模块后你可以在~/.config/starship.toml里继续细化这些配置。

通过 NixOS 系统级安装

在 NixOS 的configuration.nix中,把pkgs.starship加入environment.systemPackages

{ pkgs, ... }: { environment.systemPackages = with pkgs; [ starship # ... 其他软件包 ]; }

然后重新构建系统:

sudo nixos-rebuild switch

这种方式适合多用户系统,所有登录用户都能直接使用starship命令。

通用安装脚本解析:install.sh 的进阶参数

若你的发行版不在上述列表,可以使用仓库根目录的官方安装脚本 install.sh:

curl -sS https://starship.rs/install.sh | sh

从源码看,该脚本实现了完整的平台/架构探测、下载与解压流程,并支持以下参数(见 install.sh 的usage()函数):

参数说明默认值
-p, --platform覆盖自动探测的平台自动探测
-b, --bin-dir覆盖二进制安装目录/usr/local/bin
-a, --arch覆盖自动探测的架构自动探测
-B, --base-url覆盖发布包下载基址GitHub releases
-v, --version安装指定版本(如v1.2.3latest
-V, --verbose启用详细输出关闭
-f, -y, --force, --yes跳过安装确认提示需交互确认
-h, --help显示帮助

脚本内置的SUPPORTED_TARGETS(install.sh)列出了官方提供预编译包的平台三元组,覆盖 x86_64/aarch64 的 Linux(glibc 与 musl)、macOS、Windows(MSVC)以及 FreeBSD、riscv64gc 等。几个值得注意的实现细节:

  • 平台自动探测detect_platform):基于uname -s,将msys_nt*/cygwin_nt*/mingw*(Git Bash)识别为pc-windows-msvc;Linux 统一使用静态编译的 musl 二进制以避免链接问题;
  • 架构自动探测detect_arch):基于uname -m映射amd64→x86_64arm64→aarch64等,并用getconf LONG_BIT修正 32 位系统误报;
  • 下载工具选择download):依次尝试curlwgetfetch,并专门检测 curl 是否为 snap 安装(snap 版 curl 无法正常下载,会给出告警并回退);
  • 权限提升install/elevate_priv):目标目录可写则直接安装,否则自动使用sudo并先执行sudo -v验证授权;
  • 包格式:Windows 目标下载 zip,其余平台下载 tar.gz,解压时支持VERBOSE开关输出详细日志;
  • 安装完成提示print_install):脚本结束后会按当前 shell 打印对应的初始化配置方法。

安装完成后:配置你的 shell

无论用哪种方式安装,最后一步都是让 shell 启动时初始化 starship。仓库 src/init 目录下提供了各 shell 的初始化脚本实现(starship.bashstarship.zshstarship.fishstarship.ps1等),而 install.sh 的print_install()函数会在安装成功后直接给出各 shell 的配置指引,汇总如下:

Shell配置文件初始化命令
bash~/.bashrceval "$(starship init bash)"
zsh~/.zshrceval "$(starship init zsh)"
fish~/.config/fish/config.fishstarship init fish \| source
ion~/.config/ion/initrceval $(starship init ion)
tcsh~/.tcshrceval `starship init tcsh`
xonsh~/.xonshrcexecx($(starship init xonsh))
elvish~/.config/elvish/rc.elveval (starship init elvish)(需 elvish v0.17+)
nushellnu 配置文件($nu.config-pathmkdir ($nu.data-dir \| path join "vendor/autoload")starship init nu \| save -f ...(需 Nushell v0.96+)
PowerShellMicrosoft.PowerShell_profile.ps1Invoke-Expression (&starship init powershell)
CmdClink 脚本目录下新建starship.luaload(io.popen('starship init cmd'):read("*a"))()(需 Clink v1.2.30+)

其中各 shell 初始化脚本的真实实现都位于 src/init 目录,例如 starship.bash、starship.zsh、starship.fish 与 starship.ps1,它们由starship init <shell>命令按需输出并注入当前 shell 会话。

小结

针对本文覆盖的四类平台,安装命令速查如下:

  • Windows + Chocolateychoco install starship(需管理员权限,先安装 Chocolatey);
  • Android + Termuxpkg install starship
  • Funtoo Linuxemerge app-shells/starship
  • Nix:命令式nix-env -iA nixos.starship;home-manager 声明式programs.starship模块;NixOS 系统级加入environment.systemPackages

安装完成后,统一根据上表向对应 shell 的初始化文件追加starship init <shell>配置并重开终端即可生效。若你的平台不在这份清单中,可以查阅主文档 README.md 的安装章节,或使用 install.sh 通用脚本安装;仓库内的 docs/installing/README.md 也欢迎社区补充新的平台安装方式。

【免费下载链接】starship☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!项目地址: https://gitcode.com/GitHub_Trending/st/starship

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 15:41:07

轻量级恶意网站分类器:scikit-learn+Keras混合建模实战

简介&#xff1a;本资源是一套面向机器学习初学者与安全方向实践者的恶意网站检测实战项目&#xff0c;聚焦于利用传统机器学习与深度神经网络&#xff08;DNN&#xff09;分类算法构建可复现的检测模型。资源包含完整Python源码、特征工程脚本、多模型训练代码及配套黑白名单数…

作者头像 李华
网站建设 2026/9/10 15:40:45

Tokio Issue 贡献指南:从 Bug 报告到 Pull Request 的完整协作流程

Tokio Issue 贡献指南&#xff1a;从 Bug 报告到 Pull Request 的完整协作流程 【免费下载链接】tokio A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ... 项目地址: https://gitcode.com/GitHub_Tre…

作者头像 李华
网站建设 2026/9/10 15:40:16

ESLint array-bracket-newline 规则详解:掌控数组方括号内换行排版

ESLint array-bracket-newline 规则详解&#xff1a;掌控数组方括号内换行排版 【免费下载链接】eslint Find and fix problems in your JavaScript code. 项目地址: https://gitcode.com/GitHub_Trending/es/eslint 本篇技术指南围绕 ESLint 核心仓库中的 array-bracke…

作者头像 李华
网站建设 2026/9/10 15:40:01

2023年技术趋势:AI工程化与效能提升实践

1. 2023年技术趋势全景观察作为从业十余年的技术观察者&#xff0c;每年我都会系统梳理行业动向。2023年尤为特殊&#xff0c;这是后疫情时代首个完整年度&#xff0c;技术演进呈现出明显的"务实化"特征。从年初ChatGPT引爆AI军备竞赛&#xff0c;到年末AI芯片禁令重…

作者头像 李华
网站建设 2026/9/10 15:39:48

CANN/GE获取输出格式API

aclmdlGetOutputFormat 【免费下载链接】ge GE&#xff08;Graph Engine&#xff09;是面向昇腾的图编译器和执行器&#xff0c;提供了计算图优化、多流并行、内存复用和模型下沉等技术手段&#xff0c;加速模型执行效率&#xff0c;减少模型内存占用。 GE 提供对 PyTorch、Ten…

作者头像 李华
网站建设 2026/9/10 15:39:30

Gogs 二进制移动到新目录后 Git hooks 引用失效路径如何修复

Gogs 二进制移动到新目录后 Git hooks 引用失效路径如何修复 【免费下载链接】gogs The painless way to host your own Git service 项目地址: https://gitcode.com/GitHub_Trending/go/gogs 当你把 Gogs 的二进制文件从原安装位置移动到新目录&#xff08;例如整理目录…

作者头像 李华