tea stvara nove tehnologije koje će promijeniti način na koji se kod distribuira
Max Howell, autor popularnog sustava za upravljanje paketima zakuhati (Homebrew) macOS-a, otkrio je to radi na razvoju novog upravitelja paketa pod nazivom Tea, koji je pozicioniran kao nastavak razvoja piva, nadilazeći upravitelj paketa i nudeći jedinstvenu infrastrukturu za upravljanje paketima koja radi s decentraliziranim spremištima.
Tea konceptualno nije poput tradicionalnih upravitelja paketa., a umjesto paradigme "Želim instalirati paket", koristi pristup "Želim koristiti paket".
Osobito Tea nema naredbu za instaliranje paketa kao takav, ali umjesto toga koristi generiranje okruženja za pokretanje sadržaja paketa koji se ne preklapaju s trenutnim sustavom. Paketi su smješteni u poseban ~/.tea direktorij i nisu dodijeljeni apsolutnim stazama (mogu se pomicati).
Dva su osnovna načina rada u Tea-u rada: Skočite u naredbenu ljusku s pristupom okruženju s instaliranim paketima i izravno pozovite naredbe povezane s paketima. Na primjer, pokretanjem "tea +gnu.org/wget", upravitelj paketa će preuzeti uslužni program wget i sve potrebne ovisnosti, a zatim omogućiti pristup ljusci u okruženju u kojem je dostupan uslužni program wget.
Druga opcija uključuje izravno pokretanje: «čaj +gnu.org/wget -qO- tea.xyz/white-paper | čaj +charm.sh/glow sjaj – ", koji će instalirati uslužni program wget i odmah ga pokrenuti u zasebnom okruženju, preuzimajući datoteku koja će se prikazati sa sjajem. Moguće je složeno ulančavanje, na primjer, za preuzimanje datoteke white-paper.pdf i obradu pomoću uslužnog programa glow, možete koristiti sljedeću konstrukciju (ako wget i glow nisu prisutni, bit će instalirani).
slično tome, možete izravno pokretati skripte, uzorke koda i one-linere, automatski učitavajući alate potrebne za posao.
Bez primjera, pokrenite:
tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go
…
Instalirat će jezični alat Go i pokrenuti skriptu colors.go s "–yellow" kao argumentom.
Kako se naredba tea ne bi pozivala svaki put, moguće ju je spojiti kao univerzalni upravitelj virtualnih okruženja i pokretač programa koji nedostaju. U tom slučaju, ako pokrenuti program nije dostupan, bit će instaliran i, ako je prethodno instaliran, pokrenut će se u vašem okruženju.
U svom sadašnjem obliku, paketi dostupni za Tea prikupljeni su u dvije kolekcije, smočnica.jezgra i smočnica.ekstra, koji uključuje metapodatke koji opisuju izvore preuzimanja paketa, skripte za izgradnju i ovisnosti.
Kolekcija pantry.core uključuje osnovne biblioteke i uslužne programe koje razvijači Tea ažuriran i testiran. pantry.extra sadrži pakete koji nisu dobro stabilizirani ili koje predlaže zajednica. Osigurano je web sučelje za navigaciju kroz pakete.
Proces izrade paketa za Tea uvelike je pojednostavljen i sveden na izradu univerzalne datoteke package.yml (primjer), koja ne zahtijeva prilagođavanje paketa za svaku novu verziju. Kako biste otkrili nove verzije i preuzeli njegov kod, paket se može povezati s GitHubom.
Datoteka također opisuje ovisnosti i pruža skripte za izgradnju za podržane platforme. Instalirane ovisnosti su nepromjenjive (verzija je fiksna), što eliminira situacije koje se ponavljaju slične incidentu s lijevom tipkom.
U budućnosti se planira stvoriti decentralizirana spremišta kojaue nisu vezani ni za kakvu odvojenu pohranu i koriste distribuirani blockchain za metapodatke i decentraliziranu infrastrukturu za pohranu paketa. Verzije će biti izravno ovjerene od strane održavatelja i pregledane od strane zainteresiranih strana. Moguće je distribuirati tokene kriptovalute za doprinos održavanju, podršci, distribuciji i provjeri paketa.
Na kraju, vrijedi spomenuti da trenutno projekt je u početku razvijen kao višeplatformski (trenutačno su podržani macOS i Linux, podrška za Windows je u razvoju.) Kôd projekta napisan je u TypeScriptu i objavljen je pod licencom Apache 2.0 (brew je napisan u Rubyju i isporučen pod licencom BSD).
Ako ste zainteresirani da možete saznati više o tome, možete pogledati Tea's detalje i korisnički priručnik na sljedeći link.