CursorTokenLogin/README.md

3.5 KiB
Raw Blame History

多平台编译与打包指南

在 Windows 系统下,由于 PyInstaller 的工作机制是直接打包当前平台的 Python 解析器和系统动态库,它不支持交叉编译(即在 Windows 本机无法编译出 macOS 的 .app 苹果程序,也无法直接打包 Linux 的 .deb.rpm 安装包)。

为了解决这个问题,并在一台电脑上实现 4 端程序Windows .exe、macOS .app、Debian/Ubuntu .deb、RedHat/Fedora .rpm)的统一打包,我们已经在项目中配置了 GitHub Actions 自动化流水线


🚀 推荐方案:使用 GitHub Actions 自动打包 4 端程序

我们已经在项目中创建了自动化打包脚本:.github/workflows/build.yml

您只需将代码托管在 GitHub 仓库中GitHub 就会为您调用免费的 Windows、macOS 和 Linux 虚拟服务器,一键自动构建出所有安装包!

操作步骤:

  1. 首次配置并推送代码到 GitHub 仓库 (在本地项目终端运行)
    # 关联远程 GitHub 仓库,并将其命名为 github (实现双仓库并存)
    git remote add github https://github.com/hero920103/cursorlogin.git
    
    # 将本地的 master 分支推送到 GitHub
    git push -u github master
    
  2. 推送 Tag 触发 4 端自动打包 (后续每次需要打包发布时,直接运行下面两行)
    # 1. 本地打上版本 tag
    git tag vx.x.x
    
    # 2. 将 tag 单独推送到 github 触发云端自动构建
    git push github vx.x.x
    
  3. GitHub Actions 收到 Tag 后会自动触发构建,云端会启动多个编译任务,最终产出:
    • 💻 Windows:编译出 CursorTokenLogin.exe
    • 🍏 macOS (M1/M2/M3 芯片):编译出 CursorTokenLogin-macOS-AppleSilicon.zip (解压即得 .app)
    • 🍏 macOS (Intel 芯片):编译出 CursorTokenLogin-macOS-Intel.zip (解压即得 .app)
    • 🐧 Linux:编译出 Linux 运行文件,并自动打包为 cursortokenlogin.debcursortokenlogin.rpm
  4. 下载成品:构建完成后(耗时约 3~5 分钟GitHub 会自动在您的仓库右侧 Releases 栏目中生成一个名为 v1.0.0 的发布页,进入即可直接下载编译好的 5 个安装包!

🛠️ 本地手动构建说明Windows/Linux/Mac

如果您不想使用 GitHub 托管,也可以在本地不同的系统环境中分别运行打包:

1. 编译 Windows 程序 (.exe)

在 Windows 命令行中运行:

python -m PyInstaller build.spec --clean

2. 编译 macOS 程序 (.app)

在 macOS 终端中运行:

python -m PyInstaller build.spec --clean

(编译生成 .app 文件目录,拷贝分发前建议压缩为 .zip)

3. 编译 Linux 安装包 (.deb / .rpm)

在 Ubuntu / Debian 终端下,可以使用以下命令快速打包:

# 1. 编译 Linux 原生可执行文件
python -m PyInstaller build.spec --clean

# 2. 组织 DEB 包目录结构并打包
mkdir -p deb-package/DEBIAN
mkdir -p deb-package/usr/bin
cp dist/CursorTokenLogin deb-package/usr/bin/cursortokenlogin
chmod +x deb-package/usr/bin/cursortokenlogin

# 创建 control 配置文件
cat <<EOF > deb-package/DEBIAN/control
Package: cursortokenlogin
Version: 1.0.0
Architecture: amd64
Maintainer: Yunzer
Description: Cursor Token Login Helper
EOF

# 生成 deb 安装包
dpkg-deb --build deb-package cursortokenlogin.deb

# 3. 使用 alien 将 deb 包转换为 rpm 包
sudo apt-get install alien
sudo alien --to-rpm --scripts cursortokenlogin.deb