Tea el nou administrador de paquets del creador de brew

te

tea està creant noves tecnologies que canviaran la manera com es distribueix el codi

Max Howell, autor del popular sistema d'administració de paquets brew (Homebrew) de macOS, va donar a conèixer que es troba treballant en el desenvolupament d'un nou administrador de paquets, anomenat Tea, el qual està posicionat com una continuació del desenvolupament de brew, que va més enllà de l'administrador de paquets i ofereix una infraestructura d'administració de paquets unificada que funciona amb repositoris.

Tea no és conceptualment com els administradors de paquets tradicionals , i en lloc del paradigma «Vull instal·lar un paquet», utilitza l'enfocament «Vull fer servir un paquet».

En particular, el Tea no té una ordre d'instal·lació de paquets com a tal, sinó que utilitza la generació d'entorns per executar els continguts del paquet que no se superposen amb el sistema actual. Els paquets es col·loquen en un directori ~/.tea separat i no s'assignen a rutes absolutes (es poden moure).

A Tea es proporcionen dos modes bàsics d'operació: saltar a un intèrpret d'ordres amb accés a un entorn amb paquets instal·lats i invocar directament ordres relacionades amb paquets. Per exemple, en executar «tea +gnu.org/wget», l'administrador de paquets descarregarà la utilitat wget i totes les dependències necessàries, i després proporcionarà accés de shell en un entorn on la utilitat wget instal·lada estigui disponible.

La segona opció implica un llançament directe: « tea +gnu.org/wget -qO- tea.xyz/white-paper | tea +charm.sh/glow glow – «, que instal·larà la utilitat wget i l'executarà immediatament en un entorn separat, descarregant un fitxer el qual serà renderitzat amb glow. És possible un encadenament complex, per exemple, per descarregar el fitxer white-paper.pdf i processar-lo amb la utilitat glow, podeu utilitzar la següent construcció (si wget i glow no hi són presents, s'instal·laran).

De la mateixa manera, es pot executar directament seqüències d'ordres , exemples de codi i frases enginyoses, carregant automàticament les eines necessàries per al treball.

Per no Per exemple, executar:

tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go
…

S'instal·larà el kit d'eines del llenguatge Go i executarà l'script colors.go amb el –yellow com a argument.

Per no trucar a l'ordre tea cada vegada, és possible connectar-lo com un administrador universal d'entorns virtuals i un controlador de programes mancants. En aquest cas, si el programa en execució no està disponible, s'instal·larà i, si s'ha instal·lat anteriorment, s'iniciarà al vostre entorn.

En la seva forma actual, els paquets disponibles per a Tea es recopilen en dues col·leccions , pantry.core i pantry.extra , que inclouen metadades que descriuen les fonts de descàrrega de paquets, els scripts de compilació i les dependències.

La col·lecció pantry.core inclou biblioteques principals i utilitats que els desenvolupadors de Tea mantenen actualitzades i provades. pantry.extra conté paquets que no estan ben estabilitzats o que són suggerits per la comunitat. Es proporciona una interfície web per navegar a través dels paquets.

El procés de creació de paquets per a Tea se simplifica enormement i es redueix a crear un fitxer universal package.yml (exemple), que no requereix que el paquet s'adapti per a cada nova versió. Per descobrir noves versions i descarregar el codi, el paquet es pot vincular a GitHub.

El fitxer també descriu les dependències i proporciona scripts de compilació per a plataformes compatibles. Les dependències instal·lades són immutables (la versió és fixa), cosa que elimina la repetició de situacions similars a l'incident del pad esquerre.

En el futur, està previst crear repositoris descentralitzats que no estiguin vinculats a cap emmagatzematge separat i utilitzar una cadena de blocs distribuïda per a metadades i una infraestructura descentralitzada per emmagatzemar paquets. Les versions seran certificades directament pels mantenidors i revisades per les parts interessades. És possible distribuir tokens de criptomonedes per contribuir al manteniment, suport, distribució i verificació de paquets.

Finalment cal esmentar que actualment el projecte es desenvolupa inicialment com a multiplataforma (actualment s'admeten macOS i Linux, el suport de Windows està en desenvolupament). El codi del projecte està escrit a TypeScript i es distribueix sota la llicència Apache 2.0 (brew es va escriure a Ruby i es va enviar sota una llicència BSD).

Si estàs interessat en poder conèixer-ne més, pots consultar els detalls i manual d'ús de Tea al següent enllaç.


Afegir com a font preferida a Google