panini 是一个用 Rust 编写的 CLI,可将面向 Erlang 的 Gleam 应用打包成单个自包含可执行文件:内置精简 OTP 运行时,并用 Zig 编写自解压启动器,还支持交叉编译和 OTP 版本选择。

Stars

7

7 天增长

暂无数据

Fork 数

1

开放 Issue

0

开源协议

MIT

最近更新

2026-07-30

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它为 Gleam 生态带来了类似 Burrito 的单二进制分发能力,让开发者无需在目标机器上安装 Erlang、Gleam 或 rebar3 即可运行 BEAM 应用,并且支持从单台机器交叉编译多平台产物。

适合谁使用

  • 希望分发命令行工具的 Gleam 开发者
  • 需要简化 BEAM 应用部署的 Erlang/Elixir 开发者
  • 需要在 CI 中构建多平台发布产物的团队
  • 使用 Nix 并追求可复现构建工具链的用户

典型使用场景

  • 将 Gleam CLI 打包成单个可执行文件,分发给未安装 Erlang 的终端用户
  • 在一台构建机上同时交叉编译 Linux 和 macOS 二进制
  • 锁定特定 OTP 版本,确保 BEAM 字节码与运行时兼容
  • 为服务器或容器生成依赖极少的自包含发布产物

项目优势

  • 内置 BEAM 运行时,并支持 OTP 版本选择,包括下载指定 OTP 并用它编译应用
  • 交叉编译能力经过 CI 端到端验证:在 x86_64 上构建、在 arm64 上运行
  • 目标机器只需 POSIX sh 和 tar;Zig 启动器可自动下载,无需手动安装
  • 相同 OTP 构建产物的运行时缓存可复用,避免每个二进制重复解压 OTP

使用前须知

  • 尚不支持 Windows;BSD 目标仅限本机构建,不能交叉编译或使用 --otp
  • 跨操作系统构建要求宿主机与目标 OTP 主版本一致
  • xz/zst 压缩在 Linux 上运行时需要对应的解压工具,只有 gz 在所有平台可用

README 快速开始

Usage

项目描述

Press a Gleam (Erlang/BEAM) app into a single self-contained binary — a Burrito for Gleam.

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

l0ng-ai
精选
l0ng-ai GitHub avatar

tty7

tty7 is a fast, GPU-accelerated terminal workbench with persistent sessions, built-in input tools, SSH support, and coding agent awareness.

开发者工具CLI 与终端
359
programmersd21
精选
programmersd21 GitHub avatar

flow

flow is a minimalist terminal dashboard that displays real-time network throughput with smooth animations, multiple responsive modes, and zero configuration.

开发者工具CLI 与终端
277
makecindy
精选
makecindy GitHub avatar

cindy

Cindy is an open-source AI agent that runs locally on your machine, integrates multiple AI harnesses and models, and provides memory, skills, and automation to perform real work in your projects and apps.

AI 与机器学习大语言模型
958