-
Sapphire는 Rust로 개발된 차세대 패키지 관리자임
-
Homebrew에서 영감을 받아 Formulae와 Casks를 설치 및 관리함
- 현재 ARM 아키텍처만 지원하며, x86 지원은 추후 추가될 가능성이 있음
- 프로젝트는 sapphire-core와 sapphire-cli로 구성되어 있음
-
Sapphire는 BSD-3-Clause 라이선스를 따름
Sapphire 경고
-
Sapphire는 실험적이며 활발히 개발 중인 소프트웨어로, 불안정할 수 있음
-
brew로 설치한 cask를 Sapphire로 재설치하면 경로가 약간 다르게 설치되며, 사용자 설정이 자동으로 마이그레이션되지 않음
⚙️ 프로젝트 구조
-
sapphire-core: 핵심 라이브러리로, 패키지 가져오기, 의존성 해결, 아카이브 추출, 아티팩트 처리 등을 담당함
-
sapphire-cli: 명령줄 인터페이스로, sapphire 실행 파일이 핵심 라이브러리를 감쌈
🚧 현재 상태
-
Bottle 설치 및 제거
-
Cask 설치 및 제거
- 속도를 위한 병렬 다운로드 및 설치
- 자동 의존성 해결 및 설치
- 소스에서 Formulae 빌드 (아주 초기 단계)
🚀 로드맵
-
업그레이드 명령어로 설치된 패키지 업데이트
- 오래된 다운로드, 버전, 캐시 정리
- 빠른 재설치를 위한 Reinstall 명령어
-
/opt/sapphire를 독립 레이아웃으로 지원하는 Prefix isolation
- 환경을 부트스트랩하는 sapphire init 도우미
- 지속적인 버그 수정 및 안정성 개선
📦 사용법
- 도움말 출력: sapphire --help
- 메타데이터 업데이트: sapphire update
- 패키지 검색: sapphire search <formula/cask>
- 패키지 정보 얻기: sapphire info <formula/cask>
-
Bottle 또는 Cask 설치: sapphire install <formula/cask>
- 소스에서 Formula 빌드 및 설치: sapphire install --build-from-source <formula>
- 제거: sapphire uninstall <formula/cask>
- (곧 제공 예정) sapphire upgrade [--all] <name>, sapphire cleanup, sapphire init
🏗️ 소스에서 빌드
필수 조건: 안정적인 Rust 도구 체인
-
git clone <repo-url>
-
cd sapphire
-
cargo build --release
-
sapphire 바이너리는 target/release/sapphire에 위치하며, 이를 PATH에 추가
🤝 기여
-
Sapphire는 피드백과 코드로 성장함
-
Cask 및 Bottle 설치와 --build-from-source에 대한 테스트 및 버그 보고를 특히 필요로 함
- 핵심 및 Cask 모듈에 대한 테스트 커버리지
- CLI UI/UX 개선
-
CONTRIBUTING.md 참고
- 이슈나 PR을 자유롭게 열 수 있으며, 모든 기여는 도움이 됨
📄 라이선스
-
Sapphire: BSD-3-Clause - LICENSE.md 참조
-
Homebrew에서 영감을 받은 BSD-2-Clause — NOTICE.md 참조
알파 소프트웨어. 보증 없음. 책임감 있게 사용