tee loob uusi tehnoloogiaid, mis muudavad koodi levitamise viisi
Max Howell, populaarse macOS-i homebrew paketihaldussüsteemi brew autor , teatas, et töötab uue paketihalduri Tea kallal, mis on positsioneeritud brew' arenduse jätkuna, minnes paketihaldurist kaugemale ja pakkudes ühtset paketihaldusinfrastruktuuri, mis töötab detsentraliseeritud repositooriumidega.
Tea ei ole kontseptuaalselt nagu traditsioonilised paketihaldurid ja "Soovin paketi installida" paradigma asemel kasutab see lähenemist "Soovin paketti kasutada".
Täpsemalt öeldes puudub Teal pakettide installimise käsk kui selline; selle asemel kasutab see keskkonna genereerimist, et käivitada pakettide sisu, mis ei kattu praeguse süsteemiga. Paketid paigutatakse eraldi kataloogi ~/.tea ja neile ei määrata absoluutseid teid (neid saab teisaldada).
Tea pakub kahte peamist töörežiimi: hüppamine käsurea shellile, millel on juurdepääs installitud pakettidega keskkonnale, ja pakettidega seotud käskude otsene käivitamine. Näiteks käsu "tea +gnu.org/wget" käivitamine põhjustab paketihalduri wget utiliidi ja kõigi vajalike sõltuvuste allalaadimise ning seejärel shelli juurdepääsu pakkumist keskkonnas, kus installitud wget utiliit on saadaval.
Teine võimalus hõlmab otsekäivitust: ` tea +gnu.org/wget -qO- tea.xyz/white-paper | tea +charm.sh/glow glow -` , mis installib wget utiliidi ja käivitab selle kohe eraldi keskkonnas, laadides alla faili, mis seejärel glow abil renderdatakse. Võimalik on keerukam ahel; näiteks faili `white-paper.pdf` allalaadimiseks ja selle glow utiliidiga töötlemiseks võite kasutada järgmist käsku (kui wget ja glow pole veel olemas, installitakse need).
Samamoodi saate otse käivitada skripte , koodinäiteid ja nutikaid fraase, laadides automaatselt tööks vajalikud tööriistad.
Näiteks käivitage:
tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go
…
See installib Go keele tööriistakomplekti ja käivitab skripti colours.go argumendina „–kollane”.
Selleks, et käsku tea iga kord ei kutsutaks, saab selle ühendada universaalse virtuaalse keskkonna haldurina ja puuduvate programmide käitlejana. Sellisel juhul, kui töötav programm pole saadaval, installitakse see ja kui see oli varem installitud, käivitatakse see teie keskkonnas.
Praegusel kujul on Tea jaoks saadaolevad paketid koondatud kahte kollektsiooni : pantry.core ja pantry.extra , mis sisaldavad pakettide allalaadimisallikaid, ehitusskripte ja sõltuvusi kirjeldavaid metaandmeid.
Pantry.core kollektsioon sisaldab põhiteegid ja utiliidid, mida Tea arendajad pidevalt ajakohastavad ja testivad. pantry.extra sisaldab pakette, mis pole veel hästi stabiliseeritud või mida kogukond on soovitanud. Pakettide sirvimiseks on olemas veebiliides.
Tea pakettide loomise protsess on oluliselt lihtsustatud ja taandatud universaalse package.yml faili loomisele (näide), mis ei nõua paketi kohandamist iga uue versiooni jaoks. Uute versioonide avastamiseks ja selle koodi allalaadimiseks saab paketi linkida GitHubiga.
Fail kirjeldab ka sõltuvusi ja pakub toetatud platvormidele ehitamise skripte. Paigaldatud sõltuvused on muutumatud (versioon on fikseeritud), mis välistab korduvad olukorrad, mis sarnanevad vasakpoolse padi juhtumiga.
Tulevikus on plaanis luua detsentraliseeritud repositooriumid, mis ei ole seotud ühegi eraldi salvestusruumiga, ning kasutada metaandmete jaoks hajutatud plokiahelat ja pakettide salvestamiseks detsentraliseeritud infrastruktuuri. Versioone sertifitseerivad otse hooldajad ja neid vaatavad üle sidusrühmad. Võimalik on levitada krüptovaluuta tokeneid, et aidata kaasa pakettide hooldusele, toele, levitamisele ja verifitseerimisele.
Lõpuks väärib mainimist, et projekti arendatakse praegu platvormideülese rakendusena (praegu toetatakse macOS-i ja Linuxit, Windowsi tugi on väljatöötamisel). Projekti kood on kirjutatud TypeScriptis ja levitatakse Apache 2.0 litsentsi all (brew kirjutati Rubys ja avaldati BSD litsentsi all).
Kui olete huvitatud lisateabest, saate Tea kohta üksikasju ja kasutusjuhendit vaadata järgmisel lingil.