सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।
XPM एक सार्वभौमिक पैकेज प्रबंधक है जो यूनिक्स-जैसी प्रणालियों, जिनमें macOS, Linux और प्रयोगात्मक Windows समर्थन शामिल है, के लिए डिज़ाइन किया गया है। यह विभिन्न वातावरणों में एप्लिकेशन के अस्तित्व, प्रबंधन और वितरण को बिना किसी दिक्कत के सुनिश्चित करता है। Flutter और Dart के साथ निर्मित, XPM निर्भरता के प्रबंधन और एप्लिकेशन प्रकाशन को सरल बनाता है, जिससे यह बहु-प्लेटफॉर्म लक्ष्य वाले विकासकर्ताओं के लिए आदर्श है। इसकी अंतर-प्लेटफॉर्म संगतता एंड्रॉइड, iOS, macOS, Windows और Linux में समान व्यवहार सुनिश्चित करती है। इस उपकरण का उद्देश्य फ्लटर इकोसिस्टम में पैकेज प्रबंधन कार्य प्रवाह को एकीकृत करना है।
उपयोग
क्रॉस-प्लेटफॉर्म एप्लिकेशन डेप्लॉयमेंट
ऑपरेटिंग सिस्टम के बीच एकीकृत पैकेज प्रबंधन
सरलीकृत ऐप प्रकाशन
विकास कार्यप्रवाह स्वचालन
CI/CD एकीकरण
बहु-ओएस निर्भरता समाधान
मुख्य विशेषताएँ
यूनिक्स-जैसी प्रणालियों के बीच सार्वभौमिक सुसंगतता
प्रयोगात्मक Windows समर्थन
Flutter/Dart-आधारित संरचना
`flutter pub add xpm` के माध्यम से कमांड-लाइन इंटरफेस
Android, iOS, macOS, Windows और Linux का समर्थन करता है
स्ट्रीमलाइन किया गया एप्लिकेशन पैकेजिंग और वितरण
इनके लिए उपयुक्त
कई ऑपरेटिंग सिस्टम का लक्ष्य बनाने वाले डेवलपर्स
CI/CD पाइपलाइन्स का उपयोग करने वाली टीमें
क्रॉस-प्लेटफॉर्म फ्लटर एप्लिकेशन के प्रकाशक
एकीकृत उपकरण की तलाश में पर्यावरण रखरखावकर्ता
ओपन-सोर्स योगदानकर्ता बहु-OS प्रोजेक्ट्स का प्रबंधन कर रहे हैं
विचार योग्य बातें
विंडोज समर्थन अभी भी प्रयोगात्मक है
Flutter वातावरण सेटअप की आवश्यकता है
उपलब्ध दस्तावेज़ सीमित हैं
प्लेटफॉर्म-विशिष्ट कॉन्फ़िगरेशन की आवश्यकता हो सकती है
उत्पादन में अभी तक व्यापक रूप से अपनाया नहीं गया है
GitHub-आधारित स्रोत कोड पर निर्भरता
मूल README
संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।
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