Sapphire: macOS向けRust製パッケージマネージャー(Homebrew代替)
(github.com/alexykn)- Sapphire は Rust で開発された次世代パッケージマネージャー
- Homebrew に着想を得て、Formulae と Casks のインストールおよび管理を行う
- 現在は ARM アーキテクチャのみをサポートしており、x86 サポートは今後追加される可能性がある
- プロジェクトは sapphire-core と sapphire-cli で構成されている
- Sapphire は BSD-3-Clause ライセンスを採用している
警告
- Sapphire は実験的で活発に開発中のソフトウェアであり、不安定な場合がある
- brew でインストールした cask を Sapphire で再インストールすると、パスがやや異なる形でインストールされ、ユーザー設定は自動的に移行されない
⚙️ プロジェクト構成
- sapphire-core: 中核ライブラリで、パッケージ取得、依存関係解決、アーカイブ展開、アーティファクト処理などを担当する
- sapphire-cli: コマンドラインインターフェースで、
sapphire実行ファイルが中核ライブラリをラップしている
🚀 ロードマップ
- upgrade コマンドによるインストール済みパッケージの更新
- 古いダウンロード、バージョン、キャッシュの整理
- 高速な再インストールのための Reinstall コマンド
/opt/sapphireを独立レイアウトとしてサポートする Prefix isolation- 環境をブートストラップする
sapphire initヘルパー - 継続的なバグ修正と安定性の改善
📦 使い方
- ヘルプ表示:
sapphire --help - メタデータ更新:
sapphire update - パッケージ検索:
sapphire search - パッケージ情報の取得:
sapphire info - Bottle または Cask のインストール:
sapphire install - ソースから Formula をビルドしてインストール:
sapphire install --build-from-source - アンインストール:
sapphire uninstall - (近日対応予定)
sapphire upgrade [--all],sapphire cleanup,sapphire init
🏗️ ソースからビルド
必須条件: 安定版の Rust ツールチェーン
git clonecd sapphirecargo build --releasesapphireバイナリはtarget/release/sapphireにあり、これをPATHに追加する
1件のコメント
Hacker Newsの意見
自分が作ったプロジェクトがHomebrewより優れている点はそれほど多くないが、相対パス設定のようないくつかの問題を解決しつつある
.rbスクリプトを、より一般的な機械可読形式に変換する計画である.dmgから.appへの変換と.pkgインストーラーは、テストでは問題なく動作しているHomebrewの2つの中核部分について説明している
プロジェクトは楽しく、よくできていると評価している
Homebrewとの同等性を目標にしていることに疑問を呈している
MacPortsユーザーだったが、Homebrewに移行した理由を説明している
READMEに目標、動機、理由を追加することを提案している
Homebrewの改善余地を認めつつ、新しい試みを歓迎している
プロジェクト名をもっと短く変更することを提案している
ソフトウェアを一から書き直すのは効果的ではないと主張している