Sapphire: administrador de paquetes para macOS basado en Rust (alternativa a Homebrew)
(github.com/alexykn)- Sapphire es un administrador de paquetes de próxima generación desarrollado en Rust
- Inspirado en Homebrew, instala y gestiona Formulae y Casks
- Actualmente solo es compatible con la arquitectura ARM; es posible que el soporte para x86 se agregue más adelante
- El proyecto está compuesto por sapphire-core y sapphire-cli
- Sapphire se distribuye bajo la licencia BSD-3-Clause
Advertencia
- Sapphire es un software experimental y en desarrollo activo, por lo que puede ser inestable
- Si reinstalas con Sapphire un cask instalado con brew, se instalará en una ruta ligeramente distinta y la configuración del usuario no se migrará automáticamente
⚙️ Estructura del proyecto
- sapphire-core: biblioteca central encargada de importar paquetes, resolver dependencias, extraer archivos y procesar artefactos
- sapphire-cli: interfaz de línea de comandos donde el ejecutable
sapphireenvuelve la biblioteca central
🚀 Hoja de ruta
- Actualizar los paquetes instalados con el comando upgrade
- Limpiar descargas antiguas, versiones y caché
- Comando Reinstall para reinstalaciones rápidas
- Prefix isolation para admitir
/opt/sapphirecon un diseño independiente - Asistente
sapphire initpara bootstrapear el entorno - Corrección continua de errores y mejoras de estabilidad
📦 Uso
- Mostrar ayuda:
sapphire --help - Actualizar metadatos:
sapphire update - Buscar paquetes:
sapphire search - Obtener información de un paquete:
sapphire info - Instalar un Bottle o Cask:
sapphire install - Compilar e instalar una Formula desde el código fuente:
sapphire install --build-from-source - Desinstalar:
sapphire uninstall - (Próximamente)
sapphire upgrade [--all],sapphire cleanup,sapphire init
🏗️ Compilar desde el código fuente
Requisito previo: cadena de herramientas estable de Rust
git clonecd sapphirecargo build --release- El binario
sapphirese encuentra entarget/release/sapphire; agrégalo alPATH
1 comentarios
Comentarios en Hacker News
Dice que su proyecto no es mejor que Homebrew en muchos aspectos, pero está resolviendo algunos problemas como la configuración de rutas relativas
.rba un formato de lectura mecánica más general.dmga.appy los instaladores.pkgfuncionan bien según las pruebasbrewera demasiado lento, lo que lo llevó a iniciar un proyecto nuevoExplica dos partes clave de Homebrew
Considera que el proyecto es divertido y está bien hecho
Cuestiona que el objetivo sea alcanzar paridad con Homebrew
Dice que fue usuario de MacPorts, pero explica por qué cambió a Homebrew
Sugiere agregar objetivos, motivación y razones al README
Reconoce que Homebrew puede mejorar y da la bienvenida a nuevos intentos
Sugiere cambiar el nombre del proyecto por uno más corto
Sostiene que reescribir el software desde cero no es efectivo