Orientação gerada a partir de informações públicas. Apenas para referência.
O XPM é um gerenciador de pacotes universal projetado para sistemas semelhantes ao Unix, incluindo macOS, Linux e suporte experimental ao Windows. Ele permite a instalação, gestão e distribuição contínua de aplicativos em ambientes diversos. Construído com Flutter e Dart, o XPM simplifica o gerenciamento de dependências e a publicação de aplicativos, tornando-o ideal para desenvolvedores que visam múltiplas plataformas. Sua compatibilidade entre plataformas garante um comportamento consistente em Android, iOS, macOS, Windows e Linux. A ferramenta visa unificar os fluxos de trabalho de gerenciamento de pacotes no ecossistema Flutter.
Casos de uso
Implantação de aplicativos multiplataforma
Gerenciamento unificado de pacotes entre sistemas operacionais
Publicação simplificada de aplicativos
Automação do fluxo de desenvolvimento
Integração CI/CD
Resolução de dependência multiplataforma
Principais recursos
Compatibilidade universal entre sistemas semelhantes ao Unix
Suporte experimental para Windows
Arquitetura baseada em Flutter/Dart
Interface de linha de comando via `flutter pub add xpm`
Suporta Android, iOS, macOS, Windows e Linux
Empacotamento e distribuição de aplicativos simplificados
Indicado para
Desenvolvedores direcionados a múltiplos sistemas operacionais
Equipes usando pipelines de CI/CD
Editores de aplicativos cross-platform do Flutter
Mantenedores de ambiente em busca de ferramentas unificadas
Contribuidores de código aberto gerenciando projetos multiplataforma
Considerações
O suporte ao Windows ainda é experimental
Requer configuração do ambiente Flutter
Documentação disponível limitada
Pode exigir configuração específica da plataforma
Ainda não amplamente adotado em produção
Dependência de código-fonte hospedado no GitHub
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
xpm - uniX Package Manager
A universal package manager for any unix-like distro including macOS. Rewritten in Rust for maximum performance and portability.
What is xpm?
XPM is a package manager for unix systems like Linux, BSD, MacOS, etc. It can be a wrapper for native package managers or a package manager itself by using its way of installing packages. For the list of packages available, see xpm-popular.
Our key values
Easy to install, update, upgrade, remove, search (and filter)
No questions asked, can run in a non-interactive way
Easy to create new installers or a full repository
Be agnostic, following unix standards and relying on very known tools
Include many popular distros, including macOS and Android (termux)
Prefer native pm way and falls back to xpm way
Features
Universal: Works on Linux (Arch, Debian, Ubuntu, Fedora, openSUSE), macOS, and Android/Termux
Fast: Built with Rust for maximum performance (~3MB static binary)
Unified: Search and install packages from XPM repositories AND native package managers
AUR Support: Full AUR helper support (paru, yay) on Arch Linux
Offline-first: Local database with cached package metadata
Script-based packages: Simple bash scripts for package installation
Supported Operating Systems & Package Managers
🎯 Integrated Support (Native PM with formatted search)
Debian/Ubuntu & derivatives → APT
Arch Linux → Pacman (with AUR support via Paru and Yay)
These systems get full native package manager integration with intelligent search, metadata extraction, and clean formatted output.
📜 Script-Based Support (via installers)
For other systems, XPM provides script-based installation through the xpm-popular repository:
Linux Distributions:
Fedora → DNF
openSUSE → Zypper
Clear Linux → swupd
Android (Termux) → pkg
Alpine Linux → via custom scripts
macOS → Homebrew (brew) - via scripts
Installation
Faster with curl
curl -fsSL install.cat/verseles/xpm
From Source
# Clone the repository
git clone https://github.com/verseles/xpm.git
cd xpm
# Build
cargo build --release
# Install to /usr/local/binsudocp target/release/xpm /usr/local/bin/
# Development build
cargo build
# Release build (optimized)
cargo build --release
# Run tests
cargo test# Run with verbose output
cargo run -- --verbose check
# Pre-commit checks (format + lint + test)
make precommit
Container Testing
Test xpm on different distributions using Podman:
# Build and test on Ubuntu
make test-ubuntu
# Build and test on Arch Linux
make test-arch
# Build and test all distros
make docker-test
# Clean container images
make docker-clean