You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为Rust开发的CLI小游戏工具制作安装程序并发布至GitHub

发布Rust CLI工具至GitHub并实现一键安装指南

一、预发布:编译多平台二进制文件

要让用户无需安装Cargo就能运行,你需要提前为各主流系统编译好静态二进制文件:

  • MacOS:
    • 编译ARM64(M系列芯片):cargo build --release --target aarch64-apple-darwin
    • 编译x86_64(Intel芯片):cargo build --release --target x86_64-apple-darwin
    • 编译产物在target/[目标架构]/release/目录下,将二进制文件重命名为mints-macos-arm64、mints-macos-x86_64
  • Linux:
    • 先安装交叉编译目标:rustup target add x86_64-unknown-linux-musl(musl编译出静态二进制,无需依赖系统库)
    • 编译x86_64:cargo build --release --target x86_64-unknown-linux-musl
    • 同理添加ARM64目标并编译,重命名为mints-linux-x86_64、mints-linux-arm64
  • Windows:
    • 安装Windows交叉编译目标:rustup target add x86_64-pc-windows-gnu
    • 编译:cargo build --release --target x86_64-pc-windows-gnu
    • 重命名产物为mints-windows-x86_64.exe

二、制作一键安装脚本(实现直接调用mints)

核心是将二进制文件放到系统默认PATH目录中,让终端能全局识别mints命令:

MacOS/Linux 安装脚本(bash)

创建名为install.sh的文件,内容如下(替换占位符为你的Release下载地址):

#!/bin/bash
# 检测系统架构
ARCH=$(uname -m)
# 匹配对应二进制下载地址
case $ARCH in
    x86_64) BIN_URL="替换为你GitHub Release中Linux x86_64二进制的下载地址" ;;
    aarch64) BIN_URL="替换为你GitHub Release中Linux ARM64二进制的下载地址" ;;
    arm64) BIN_URL="替换为你GitHub Release中MacOS ARM64二进制的下载地址" ;;
    *) echo "不支持的架构类型" && exit 1 ;;
esac
# 下载并安装到全局PATH目录(/usr/local/bin默认在PATH中)
sudo curl -L $BIN_URL -o /usr/local/bin/mints
# 添加执行权限
sudo chmod +x /usr/local/bin/mints
echo "安装完成!执行 'mints <game> <args>' 即可开始游戏。"

Windows 安装脚本(PowerShell)

创建名为install.ps1的文件,内容如下:

# 检测系统架构
$arch = if ([Environment]::Is64BitOperatingSystem) { "x86_64" } else { "x86" }
# 替换为对应二进制下载地址
$binUrl = "替换为你GitHub Release中Windows x86_64二进制的下载地址"
# 安装目录(可自定义,建议选已在PATH中的目录或添加到PATH)
$installDir = "C:\Program Files\mints"
New-Item -ItemType Directory -Force -Path $installDir
Invoke-WebRequest -Uri $binUrl -OutFile "$installDir\mints.exe"
# 将安装目录添加到系统PATH(需要管理员权限)
[Environment]::SetEnvironmentVariable("PATH", "$env:PATH;$installDir", [EnvironmentVariableTarget]::Machine)
Write-Host "安装完成!打开新终端执行 'mints <game> <args>' 即可开始游戏。"

卸载脚本

创建uninstall.sh(MacOS/Linux):

sudo rm /usr/local/bin/mints
echo "已成功卸载mints"

三、GitHub发布流程

  1. 打版本Tag:在本地仓库执行git tag v1.0.0(遵循语义化版本规则,比如v主版本.次版本.修订号),然后推送Tag到GitHub:git push origin v1.0.0
  2. 创建Release:进入你的GitHub仓库页面,找到右侧的Releases入口,点击Draft a new release,选择刚才创建的Tag,填写版本说明(比如新增游戏、修复bug等)
  3. 上传文件:将所有编译好的二进制文件、安装脚本、卸载脚本、SHA256校验文件(可选)上传到Release中
  4. 发布Release:确认信息无误后点击Publish release

四、环境变量配置说明

  • MacOS/Linux:/usr/local/bin是默认全局PATH目录,普通用户通过sudo权限即可写入;如果用户没有sudo权限,可修改安装脚本将二进制放到~/.local/bin(需确保该目录在用户的PATH中,若没有可让用户在~/.bashrc或~/.zshrc中添加export PATH="$HOME/.local/bin:$PATH")
  • Windows:脚本中已自动将安装目录添加到系统PATH,需注意执行PowerShell脚本时需要管理员权限

五、发布注意事项

  • 版本规范:严格遵循语义化版本(SemVer),便于用户识别更新类型
  • 文件校验:为每个二进制文件生成SHA256校验和(比如shasum -a 256 二进制文件名 > 文件名.sha256),上传到Release中,让用户可以验证文件完整性
  • 测试验证:在不同系统上测试安装、运行、卸载流程,确保脚本正常工作
  • README更新:在仓库README中添加清晰的安装说明、游戏列表、使用示例,比如告诉用户可通过curl执行你上传到Release的安装脚本(需sudo权限)一键安装
  • MacOS签名:MacOS的Gatekeeper会阻止未签名的二进制运行,若有苹果开发者账号可给二进制签名,否则需告诉用户在系统设置-隐私与安全性中允许运行
  • 静态编译:Linux编译时使用musl目标,生成静态二进制,避免用户因缺少系统库无法运行
  • 后续维护:每次发布新版本时,更新Tag、Release内容、安装脚本中的下载地址

内容的提问来源于stack exchange,提问作者Universe31

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 00:16:05