CursorTokenLogin/README.md

85 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 多平台编译与打包指南
在 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](file:///.github/workflows/build.yml)。
您只需将代码托管在 GitHub 仓库中GitHub 就会为您调用免费的 Windows、macOS 和 Linux 虚拟服务器,一键自动构建出所有安装包!
### 操作步骤:
1. **首次配置并推送代码到 GitHub 仓库** (在本地项目终端运行)
```bash
# 关联远程 GitHub 仓库,并将其命名为 github (实现双仓库并存)
git remote add github https://github.com/hero920103/cursorlogin.git
# 将本地的 master 分支推送到 GitHub
git push -u github master
```
2. **推送 Tag 触发 4 端自动打包** (后续每次需要打包发布时,直接运行下面两行)
```bash
# 1. 本地打上版本 tag
git tag vx.x.x
# 2. 将 tag 单独推送到 github 触发云端自动构建
git push github vx.x.x
```
3. GitHub Actions 收到 Tag 后会自动触发构建,云端会启动三个环境:
- 💻 **Windows**:编译出 `CursorTokenLogin.exe`
- 🍏 **macOS**:编译出 `CursorTokenLogin-macOS.zip` (内含 `.app` 应用程序)
- 🐧 **Linux**:编译出 Linux 运行文件,并自动打包为 `cursortokenlogin.deb``cursortokenlogin.rpm`
4. **下载成品**:构建完成后(耗时约 3~5 分钟GitHub 会自动在您的仓库右侧 **Releases** 栏目中生成一个名为 `v1.0.0` 的发布页,进入即可直接下载编译好的 4 个包!
---
## 🛠️ 本地手动构建说明Windows/Linux/Mac
如果您不想使用 GitHub 托管,也可以在本地不同的系统环境中分别运行打包:
### 1. 编译 Windows 程序 (`.exe`)
在 Windows 命令行中运行:
```bash
python -m PyInstaller build.spec --clean
```
### 2. 编译 macOS 程序 (`.app`)
在 macOS 终端中运行:
```bash
python -m PyInstaller build.spec --clean
```
*(编译生成 `.app` 文件目录,拷贝分发前建议压缩为 `.zip`)*
### 3. 编译 Linux 安装包 (`.deb` / `.rpm`)
在 Ubuntu / Debian 终端下,可以使用以下命令快速打包:
```bash
# 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
```