Die skepper van brou is besig om 'n nuwe pakketbestuurder-tee te ontwikkel

Max Howell, die skrywer van die gewilde macOS pakketbestuurstelsel brou (Homebrew), ontwikkel 'n nuwe pakketbestuurder genaamd Tea, geposisioneer as 'n voortsetting van die ontwikkeling van brou, wat verder gaan as die pakketbestuurder en 'n verenigde pakketbestuurinfrastruktuur bied wat werk met gedesentraliseerde bewaarplekke. Die projek word aanvanklik ontwikkel as 'n multi-platform-projek (macOS en Linux word tans ondersteun, Windows-ondersteuning is in ontwikkeling). Die projekkode is in TypeScript geskryf en onder die Apache 2.0-lisensie versprei (brou is in Ruby geskryf en onder die BSD-lisensie versprei).

Tee is konseptueel nie soos tradisionele pakketbestuurders nie en in plaas van die "Ek wil 'n pakket installeer"-paradigma, gebruik dit die "Ek wil 'n pakket gebruik"-paradigma. Tee het veral nie 'n opdrag om 'n pakket as sodanig te installeer nie, maar gebruik eerder omgewinggenerering om die pakketinhoud uit te voer wat nie met die huidige stelsel oorvleuel nie. Pakkette word in 'n aparte ~/.tea-gids geplaas en is nie aan absolute paaie gebind nie (hulle kan geskuif word).

Twee hoofmodusse van werking word verskaf: om na 'n opdragdop te gaan met toegang tot die omgewing met geïnstalleerde pakkette, en direk pakketverwante opdragte te bel. Byvoorbeeld, wanneer "tea +gnu.org/wget" uitgevoer word, sal die pakketbestuurder die wget-nutsmiddel en alle nodige afhanklikhede aflaai, en dan doptoegang verskaf in die omgewing waarin die geïnstalleerde wget-hulpprogram beskikbaar is. Die tweede opsie behels direkte bekendstelling - "tea +gnu.org/wget wget https://some_webpage", waarin die wget-hulpprogram geïnstalleer en onmiddellik in 'n aparte omgewing bekendgestel sal word. Dit is moontlik om komplekse kettings saam te stel, byvoorbeeld om die white-paper.pdf-lêer af te laai en dit met die gloei-hulpmiddel te verwerk, kan jy die volgende konstruksie gebruik (as wget en gloei ontbreek, sal hulle geïnstalleer word): tee + gnu.org/wget wget -qO- https://tea.xyz/white-paper.pdf | tee +charm.sh/glow glow - of jy kan 'n eenvoudiger sintaksis gebruik: tee -X wget -qO- tea.xyz/witskrif | tee -X gloei -

Op 'n soortgelyke manier kan u skrifte, kodevoorbeelde en eenlyners direk laat loop, en outomaties die gereedskap laai wat nodig is vir hul werking. Byvoorbeeld, om "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" te laat loop, sal die Go toolkit installeer en die colors.go script uitvoer met die argument "-yellow".

Om nie die tee-opdrag elke keer te bel nie, is dit moontlik om dit te koppel as 'n universele bestuurder van virtuele omgewings en 'n hanteerder vir ontbrekende programme. In hierdie geval, as die lopende program nie beskikbaar is nie, sal dit geïnstalleer word, en as dit voorheen geïnstalleer is, sal dit in sy omgewing geloods word. $ deno zsh: opdrag nie gevind nie: deno $ cd my-project $ deno tea: installeer deno.land^1.22 deno 1.27.0 > ^D

In sy huidige vorm word die pakkette wat vir Tee beskikbaar is, in twee versamelings versamel – pantry.core en pantry.extra, wat metadata insluit wat pakketaflaaibronne beskryf, bouskrifte en afhanklikhede. Die pantry.core-versameling sluit die hoofbiblioteke en nutsdienste in, wat op datum gehou word en deur Tea-ontwikkelaars getoets is. Pantry.extra bevat pakkette wat nie genoeg gestabiliseer is nie of wat deur lede van die gemeenskap voorgestel word. 'n Webkoppelvlak word verskaf om deur die pakkette te navigeer.

Die proses om pakkette vir Tee te skep is baie vereenvoudig en kom daarop neer dat een universele package.yml-lêer (voorbeeld) geskep word, wat nie vereis dat die pakket vir elke nuwe weergawe aangepas word nie. 'n Pakket kan na GitHub skakel om nuwe weergawes te ontdek en hul kode af te laai. Die lêer beskryf ook afhanklikhede en verskaf bouskrifte vir ondersteunde platforms. Die geïnstalleerde afhanklikhede is onveranderlik (die weergawe is vas), wat die herhaling van situasies soortgelyk aan die linkerblokkie-insident uitskakel.

In die toekoms word beplan om gedesentraliseerde bewaarplekke te skep wat nie aan enige aparte berging gekoppel is nie en 'n verspreide blokketting vir metadata te gebruik, en 'n gedesentraliseerde infrastruktuur vir die stoor van pakkette. Vrystellings sal direk deur instandhouers gesertifiseer word en deur belanghebbendes hersien word. Dit is moontlik om cryptocurrency-tokens te versprei vir bydraes tot die instandhouding, ondersteuning, verspreiding en verifikasie van pakkette.

Die skepper van brou is besig om 'n nuwe pakketbestuurder-tee te ontwikkel


Bron: opennet.ru

Voeg 'n opmerking