Brew Creator desarrolla un nuevo administrador de paquetes de té

Max Howell, autor del popular sistema de gestión de paquetes Brew (Homebrew) de macOS, está desarrollando un nuevo gestor de paquetes llamado Tea, posicionado como una continuación del desarrollo de Brew, yendo más allá del gestor de paquetes y ofreciendo una infraestructura de gestión de paquetes unificada que funciona. con repositorios descentralizados. Inicialmente, el proyecto se está desarrollando como un proyecto multiplataforma (actualmente se admiten macOS y Linux, el soporte de Windows está en desarrollo). El código del proyecto está escrito en TypeScript y distribuido bajo la licencia Apache 2.0 (brew fue escrito en Ruby y distribuido bajo la licencia BSD).

Tea es conceptualmente diferente a los administradores de paquetes tradicionales y en lugar del paradigma "Quiero instalar un paquete", utiliza el paradigma "Quiero usar un paquete". En particular, Tea no tiene un comando para instalar un paquete como tal, sino que utiliza la generación del entorno para ejecutar el contenido del paquete que no se superpone con el sistema actual. Los paquetes se colocan en un directorio ~/.tea separado y no están vinculados a rutas absolutas (se pueden mover).

Se proporcionan dos modos principales de operación: ir a un shell de comandos con acceso al entorno con los paquetes instalados y llamar directamente a los comandos relacionados con los paquetes. Por ejemplo, al ejecutar "tea +gnu.org/wget", el administrador de paquetes descargará la utilidad wget y todas las dependencias necesarias, y luego proporcionará acceso al shell en el entorno en el que la utilidad wget instalada esté disponible. La segunda opción implica el inicio directo: "tea +gnu.org/wget wget https://some_webpage", en el que la utilidad wget se instalará y se iniciará inmediatamente en un entorno separado. Es posible componer cadenas complejas, por ejemplo, para descargar el archivo white-paper.pdf y procesarlo con la utilidad Glow, puede utilizar la siguiente construcción (si faltan wget y Glow, se instalarán): té + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | tea +charm.sh/glow Glow - o puedes usar una sintaxis más simple: tea -X wget -qO- tea.xyz/white-paper | té -X resplandor —

De manera similar, puede ejecutar directamente scripts, ejemplos de código y frases ingeniosas, cargando automáticamente las herramientas necesarias para su funcionamiento. Por ejemplo, ejecutar "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -amarillo" instalará el kit de herramientas Go y ejecutará el script colours.go con el argumento "-amarillo".

Para no llamar al comando tea cada vez, es posible conectarlo como administrador universal de entornos virtuales y controlador de programas faltantes. En este caso, si el programa en ejecución no está disponible, se instalará y, si ya estaba instalado anteriormente, se ejecutará en su entorno. $ deno zsh: comando no encontrado: deno $ cd mi-proyecto $ deno tea: instalando deno.land^1.22 deno 1.27.0 > ^D

En su forma actual, los paquetes disponibles para Tea se recopilan en dos colecciones: pantry.core y pantry.extra, que incluyen metadatos que describen las fuentes de descarga de paquetes, scripts de compilación y dependencias. La colección pantry.core incluye las principales bibliotecas y utilidades, mantenidas actualizadas y probadas por los desarrolladores de Tea. Pantry.extra contiene paquetes que no están lo suficientemente estabilizados o sugeridos por miembros de la comunidad. Se proporciona una interfaz web para navegar a través de los paquetes.

El proceso de creación de paquetes para Tea se simplifica enormemente y se reduce a crear un archivo package.yml universal (ejemplo), que no requiere adaptar el paquete para cada nueva versión. Un paquete puede vincularse a GitHub para descubrir nuevas versiones y descargar su código. El archivo también describe las dependencias y proporciona scripts de compilación para las plataformas compatibles. Las dependencias instaladas son inmutables (la versión es fija), lo que elimina la repetición de situaciones similares al incidente del pad izquierdo.

En el futuro, está previsto crear repositorios descentralizados que no estén vinculados a ningún almacenamiento separado y utilicen una cadena de bloques distribuida para los metadatos y una infraestructura descentralizada para almacenar paquetes. Las versiones serán certificadas directamente por los mantenedores y revisadas por las partes interesadas. Es posible distribuir tokens de criptomonedas para contribuir al mantenimiento, soporte, distribución y verificación de paquetes.

Brew Creator desarrolla un nuevo administrador de paquetes de té


Fuente: opennet.ru

Añadir un comentario