tee skep nuwe tegnologieë wat die manier waarop kode versprei word, sal verander
Max Howell, skrywer van die gewilde pakketbestuurstelsel brew (Homebrew) van macOS, het dit bekend gemaak werk aan die ontwikkeling van 'n nuwe pakketbestuurder, genaamd Tea, wat geposisioneer is as 'n voortsetting van brouontwikkeling, wat verder gaan as die pakketbestuurder en 'n verenigde pakketbestuurinfrastruktuur bied wat met gedesentraliseerde bewaarplekke werk.
Tee is nie konseptueel soos tradisionele pakketbestuurders nie., en in plaas van die "Ek wil 'n pakket installeer"-paradigma, gebruik dit die "Ek wil 'n pakket gebruik"-benadering.
In die besonder Tee het nie 'n pakketinstalleringsopdrag nie as sodanig, maar gebruik eerder omgewinggenerering om pakketinhoud uit te voer wat nie met die huidige stelsel oorvleuel nie. Pakkette word in 'n aparte ~/.tea-gids geplaas en word nie aan absolute paaie toegewys nie (hulle kan geskuif word).
Twee basiese modusse word in Tee verskaf van operasie: Spring in 'n opdragdop met toegang tot 'n omgewing met pakkette geïnstalleer en roep direk pakketverwante opdragte aan. Byvoorbeeld, deur "tea +gnu.org/wget" te laat loop, sal die pakketbestuurder die wget-hulpmiddel en alle nodige afhanklikhede aflaai, en dan doptoegang verskaf in 'n omgewing waar die geïnstalleerde wget-hulpmiddel beskikbaar is.
Die tweede opsie behels 'n direkte bekendstelling: «tee +gnu.org/wget -qO- tea.xyz/witskrif | tee +charm.sh/glow gloei – ", wat die wget-hulpprogram sal installeer en dit onmiddellik in 'n aparte omgewing sal laat loop, en 'n lêer aflaai wat met gloed weergegee sal word. Komplekse ketting is moontlik, 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 nie teenwoordig is nie, sal hulle geïnstalleer word).
Net so, jy kan skrifte direk laat loop, kodemonsters en een-liners, laai outomaties die gereedskap wat nodig is vir die werk.
Vir geen voorbeeld nie, hardloop:
tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go
…
Dit sal die Go-taalgereedskapstel installeer en die colors.go-skrip laat loop met die “–geel” as argument.
Om nie elke keer die tee-opdrag te noem nie, is dit moontlik om dit as 'n universele bestuurder te verbind van virtuele omgewings en 'n drywer van ontbrekende programme. In hierdie geval, as die lopende program nie beskikbaar is nie, sal dit geïnstalleer word en, indien voorheen geïnstalleer, sal dit in jou omgewing begin.
In sy huidige vorm, die pakkies wat vir Tee beskikbaar is, word in twee versamelings versamel, spens.kern en spens.ekstra, wat metadata insluit wat pakketaflaaibronne, bouskripte en afhanklikhede beskryf.
Die versameling pantry.core bevat kernbiblioteke en nutsprogramme wat Tea-ontwikkelaars op datum gehou en getoets. pantry.extra bevat pakkette wat nie goed gestabiliseer is nie of wat deur die gemeenskap voorgestel word. 'n Webkoppelvlak word verskaf om deur die pakkette te navigeer.
Die proses om pakkette vir Tee te skep, word aansienlik vereenvoudig en verminder tot die skep van 'n universele package.yml-lêer (voorbeeld), wat nie vereis dat die pakket vir elke nuwe weergawe aangepas moet word nie. Om nuwe weergawes te ontdek en die kode daarvan af te laai, kan die pakket aan GitHub gekoppel word.
Die lêer beskryf ook afhanklikhede en verskaf bouskrifte vir ondersteunde platforms. Geïnstalleerde afhanklikhede is onveranderlik (weergawe is vas), wat herhaalde situasies soortgelyk aan die linkerblokkie-insident uitskakel.
In die toekoms word beplan om gedesentraliseerde bewaarplekke te skep watue is nie gekoppel aan enige aparte berging nie en gebruik 'n verspreide blokketting vir metadata en 'n gedesentraliseerde infrastruktuur om pakkette te stoor. Die weergawes sal direk deur die instandhouers gesertifiseer word en deur die belanghebbende partye hersien word. Dit is moontlik om cryptocurrency-tokens te versprei om by te dra tot die instandhouding, ondersteuning, verspreiding en verifikasie van pakkette.
Ten slotte is dit die moeite werd om te noem dat tans die projek word aanvanklik as kruisplatform ontwikkel (macOS en Linux word tans ondersteun, Windows-ondersteuning is onder ontwikkeling.) Die projek se kode is in TypeScript geskryf en word vrygestel onder die Apache 2.0-lisensie (brou is in Ruby geskryf en onder 'n BSD-lisensie gestuur).
As jy belangstel om meer daaroor te kan leer, kan jy Tea se besonderhede en gebruikershandleiding raadpleeg by die volgende skakel.
Wees die eerste om te kommentaar lewer