3步搞定ngrrram安装包制作:Debian/RPM构建指南
你还在为手动编译ngrrram而烦恼?本文将带你通过3个简单步骤,为这款热门终端打字练习工具制作Debian和RPM安装包,让Linux系统部署更轻松。读完你将获得:完整的打包流程、常见错误解决方案、一键安装脚本。
准备工作:环境与依赖检查
在开始打包前,请确保系统已安装以下工具:
- Rust开发环境(推荐1.60+)
- cargo-deb(Debian打包工具)
- cargo-rpm(RPM打包工具)
- dpkg-dev(Debian构建依赖)
- rpm-build(RPM构建依赖)
可通过以下命令快速安装依赖:
# Debian/Ubuntu系统
sudo apt install cargo rustc dpkg-dev -y
cargo install cargo-deb
# RHEL/CentOS系统
sudo dnf install cargo rustc rpm-build -y
cargo install cargo-rpm
项目核心依赖已在Cargo.toml中定义,主要包括:
- ratatui:终端UI组件库(版本0.26.2)
- crossterm:跨平台终端处理
- clap:命令行参数解析器
- rand:随机数生成器
第1步:项目配置优化
Cargo.toml打包配置
需要在Cargo.toml中添加打包元数据。在文件末尾添加以下内容:
[package.metadata.deb]
name = "ngrrram"
maintainer = "Your Name <your.email@example.com>"
copyright = "2025, Your Name"
license-file = ["LICENSE", "0"]
depends = []
section = "utils"
priority = "optional"
assets = [
["target/release/ngrrram", "usr/bin/", "755"],
["README.md", "usr/share/doc/ngrrram/", "644"],
]
[package.metadata.rpm]
name = "ngrrram"
version = "0.1.0"
release = "1"
summary = "A TUI tool to help you type faster and learn new layouts"
description = "A TUI tool to help you type faster and learn new layouts. Includes a free cat."
license = "MIT"
url = "https://gitcode.com/GitHub_Trending/ng/ngrrram"
assets = [
{source = "target/release/ngrrram", dest = "/usr/bin/ngrrram", mode = "0755"},
{source = "README.md", dest = "/usr/share/doc/ngrrram/README.md", mode = "0644"},
]
构建脚本编写
创建打包脚本build-package.sh:
#!/bin/bash
set -e
# 构建发布版本
cargo build --release
# 生成Debian包
cargo deb --no-build
# 生成RPM包
cargo rpm build --no-build
echo "Packages generated in:"
echo "Debian: target/debian/ngrrram_0.1.0_amd64.deb"
echo "RPM: target/rpm/ngrrram-0.1.0-1.x86_64.rpm"
赋予执行权限:
chmod +x build-package.sh
第2步:Debian包构建过程
执行构建命令
运行打包脚本开始构建Debian包:
./build-package.sh
构建成功后,Debian包将生成在target/debian/目录下,文件名为ngrrram_0.1.0_amd64.deb(根据系统架构可能有所不同)。
安装测试
使用以下命令测试安装:
sudo dpkg -i target/debian/ngrrram_0.1.0_amd64.deb
验证安装是否成功:
ngrrram --version
若显示版本号0.1.0,则Debian包构建成功。
第3步:RPM包构建与验证
RPM构建命令
同样使用之前创建的打包脚本,RPM包将生成在target/rpm/目录下,文件名为ngrrram-0.1.0-1.x86_64.rpm。
安装测试
在RHEL/CentOS系统上安装测试:
sudo rpm -ivh target/rpm/ngrrram-0.1.0-1.x86_64.rpm
验证安装:
ngrrram --help
若显示帮助信息,说明RPM包构建成功。
常见问题解决方案
构建失败:缺少依赖
问题:执行cargo deb时提示缺少依赖。
解决方案:确保已安装所有构建依赖:
sudo apt install libssl-dev pkg-config -y
安装后无法运行:动态链接库问题
问题:运行ngrrram时提示缺少libssl。
解决方案:安装对应版本的openssl库:
# Debian/Ubuntu
sudo apt install libssl1.1 -y
# RHEL/CentOS
sudo dnf install openssl-libs -y
打包成果与下一步
通过本文方法,你已成功构建:
- Debian包:适用于Ubuntu、Debian等系统
- RPM包:适用于CentOS、Fedora、RHEL等系统
这些安装包包含:
- 可执行文件:
/usr/bin/ngrrram - 文档文件:
/usr/share/doc/ngrrram/README.md
ngrrram的核心功能由以下源码实现:
- 终端UI:src/tui.rs
- 打字游戏逻辑:src/game.rs
- 键盘布局处理:src/layout.rs
- Ngram生成:src/ngrams.rs
下一步建议:
- 将包提交到Linux发行版仓库
- 实现CI/CD自动打包流程
- 添加更多系统架构支持
现在你可以通过--cat参数启用陪伴猫功能,让打字练习不再孤单:
ngrrram --cat
希望本文能帮助你更方便地分享和使用ngrrram这款优秀的终端打字练习工具!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



