Aus öffentlichen Paketdaten erstellte Orientierung.
XPM ist ein universeller Paketmanager für Unix-artige Systeme, einschließlich macOS, Linux und experimentelle Windows-Unterstützung. Er ermöglicht die nahtlose Installation, Verwaltung und Verteilung von Anwendungen über verschiedene Umgebungen hinweg. Aufbauend auf Flutter und Dart vereinfacht XPM das Handling von Abhängigkeiten und die Veröffentlichung von Apps, wodurch er sich ideal für Entwickler eignet, die mehrere Plattformen ansprechen wollen. Seine plattformübergreifende Kompatibilität sorgt für konsistentes Verhalten unter Android, iOS, macOS, Windows und Linux. Das Werkzeug zielt darauf ab, die Paketverwaltungsabläufe im Flutter-Ökosystem zu vereinheitlichen.
Anwendungsfälle
Plattformübergreifende App-Bereitstellung
Einheitliche Paketverwaltung über Betriebssysteme hinweg
Einfache App-Veröffentlichung
Automatisierung des Entwicklungsworkflows
CI/CD-Integration
Multi-OS-Abhängigkeitsauflösung
Hauptmerkmale
Universelle Kompatibilität über Unix-artige Systeme hinweg
Experimentelle Windows-Unterstützung
Flutter/Dart-basierte Architektur
Befehlszeilen-Schnittstelle über `flutter pub add xpm`
Unterstützt Android, iOS, macOS, Windows und Linux
Verfeinerte App-Pakete und Verteilung
Geeignet für
Entwickler, die mehrere Betriebssysteme ansprechen
Teams, die CI/CD-Pipelines verwenden
Verleger von plattformübergreifenden Flutter-Anwendungen
Umweltbetreuer, die nach einheitlicher Tooling suchen
Open-Source-Beiträger, die Multi-OS-Projekte verwalten
Hinweise
Die Windows-Unterstützung ist weiterhin experimentell
Benötigt die Einrichtung einer Flutter-Umgebung
Beschränkte Dokumentation verfügbar
Kann plattformspezifische Konfiguration erfordern
Bislang noch nicht weitgehend in der Produktion eingeführt
Abhängigkeit von auf GitHub gehostetem Quellcode
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
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