El creador de brew està desenvolupant un nou gestor de paquets de te

Max Howell, l'autor del popular sistema de gestió de paquets de macOS brew (Homebrew), està desenvolupant un nou gestor de paquets anomenat Tea, posicionat com a continuació del desenvolupament de brew, que va més enllà del gestor de paquets i ofereix una infraestructura de gestió de paquets unificada que funciona. amb repositoris descentralitzats. El projecte s'està desenvolupant inicialment com un projecte multiplataforma (actualment s'admeten macOS i Linux, el suport de Windows està en desenvolupament). El codi del projecte està escrit en TypeScript i distribuït sota la llicència Apache 2.0 (brew va ser escrit en Ruby i distribuït sota la llicència BSD).

El te no és conceptualment com els gestors de paquets tradicionals i en comptes del paradigma "Vull instal·lar un paquet", utilitza el paradigma "Vull utilitzar un paquet". En particular, el Tea no té una ordre per instal·lar un paquet com a tal, sinó que utilitza la generació d'entorns per executar els continguts del paquet que no es superposen amb el sistema actual. Els paquets es col·loquen en un directori separat ~/.tea i no estan lligats a camins absoluts (es poden moure).

Es proporcionen dos modes de funcionament principals: anar a un intèrpret d'ordres amb accés a l'entorn amb paquets instal·lats i cridar directament ordres relacionades amb el paquet. Per exemple, quan s'executa "tea +gnu.org/wget", el gestor de paquets baixarà la utilitat wget i totes les dependències necessàries i, a continuació, proporcionarà accés a l'intèrpret d'ordres a l'entorn en què la utilitat wget instal·lada està disponible. La segona opció implica el llançament directe: "tea +gnu.org/wget wget https://some_webpage", en què la utilitat wget s'instal·larà i s'iniciarà immediatament en un entorn independent. És possible compondre cadenes complexes, per exemple, per descarregar el fitxer white-paper.pdf i processar-lo amb la utilitat glow, podeu utilitzar la següent construcció (si falten wget i glow, s'instal·laran): te + gnu.org/wget wget -qO- https://tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - o podeu utilitzar una sintaxi més senzilla: tea -X wget -qO- tea.xyz/white-paper | te -X resplendor -

De la mateixa manera, podeu executar directament scripts, exemples de codi i una línia, carregant automàticament les eines necessàries per al seu funcionament. Per exemple, executar "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" instal·larà el conjunt d'eines Go i executarà l'script colors.go amb l'argument "-yellow".

Per no cridar l'ordre tea cada vegada, és possible connectar-lo com a gestor universal d'entorns virtuals i gestor de programes que falten. En aquest cas, si el programa en execució no està disponible, s'instal·larà, i si s'ha instal·lat anteriorment, s'iniciarà al seu entorn. $ deno zsh: no s'ha trobat l'ordre: deno $ cd el meu-projecte $ deno tea: instal·lant deno.land^1.22 deno 1.27.0 > ^D

En la seva forma actual, els paquets disponibles per a Tea es recullen en dues col·leccions: pantry.core i pantry.extra, que inclouen metadades que descriuen fonts de descàrrega de paquets, scripts de compilació i dependències. La col·lecció pantry.core inclou les principals biblioteques i utilitats, mantingudes actualitzades i provades pels desenvolupadors de Tea. Pantry.extra conté paquets que no estan prou estabilitzats o que són suggerits pels membres de la comunitat. Es proporciona una interfície web per navegar pels paquets.

El procés de creació de paquets per a Tea es simplifica molt i es redueix a crear un fitxer universal package.yml (exemple), que no requereix adaptar el paquet per a cada nova versió. Un paquet pot enllaçar a GitHub per descobrir noves versions i descarregar-ne el codi. El fitxer també descriu dependències i proporciona scripts de compilació per a plataformes compatibles. Les dependències instal·lades són immutables (la versió és fixa), la qual cosa elimina la repetició de situacions semblants a l'incident del coixinet esquerre.

En el futur, es preveu crear dipòsits 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 mantenedors i revisades per les parts interessades. És possible distribuir fitxes de criptomoneda per a contribucions al manteniment, suport, distribució i verificació de paquets.

El creador de brew està desenvolupant un nou gestor de paquets de te


Font: opennet.ru

Afegeix comentari