XPM은 macOS, Linux 및 실험적 Windows 지원을 포함한 유닉스 계열 시스템을 위한 통합 패키지 매니저입니다. 다양한 환경 간에 애플리케이션의 설치, 관리, 배포를 원활하게 가능하게 합니다. Flutter와 Dart로 구축되어 의존성 처리와 앱 배포를 단순화하며, 여러 플랫폼을 대상으로 하는 개발자에게 이상적입니다. 크로스플랫폼 호환성을 통해 안드로이드, iOS, macOS, Windows, Linux에서 일관된 동작을 보장합니다. 이 도구는 플러터 생태계 내 패키지 관리 워크플로우를 통합하는 것을 목표로 합니다.
사용 사례
크로스 플랫폼 앱 배포
운영 체제 간 통합 패키지 관리
간편한 앱 배포
개발 워크플로우 자동화
CI/CD 통합
다중 OS 종속성 해결
주요 기능
유닉스 유사 시스템 간의 포괄적 호환성
실험적 Windows 지원
Flutter/Dart 기반 아키텍처
`flutter pub add xpm`를 통한 명령줄 인터페이스
Android, iOS, macOS, Windows 및 Linux를 지원합니다
앱 패키징 및 배포 간소화
적합한 대상
여러 운영 체제를 대상으로 하는 개발자
CI/CD 파이프라인을 사용하는 팀
크로스 플랫폼 플러터 앱의 출판자
통합 도구를 찾는 환경 유지보수자
오픈소스 기여자가 다중 OS 프로젝트를 관리하고 있습니다
고려 사항
Windows 지원은 여전히 실험적입니다
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