tea új technológiákat hoz létre, amelyek megváltoztatják a kód elosztásának módját
Max Howell, a népszerű macOS homebrew csomagkezelő rendszer , a brew szerzője bejelentette, hogy egy új csomagkezelő fejlesztésén dolgozik, Tea néven, amely a brew fejlesztésének folytatásaként pozicionálódik, túlmutat a csomagkezelőn, és egy egységes csomagkezelő infrastruktúrát kínál, amely decentralizált adattárakkal működik.
A Tea fogalmilag nem olyan, mint a hagyományos csomagkezelők , és a „csomagot szeretnék telepíteni” paradigma helyett a „csomagot szeretnék használni” megközelítést alkalmazza.
Konkrétan a Tea nem rendelkezik csomagtelepítő paranccsal ; ehelyett környezetgenerálást használ a jelenlegi rendszerrel átfedésben nem lévő csomagtartalmak futtatásához. A csomagok egy külön ~/.tea könyvtárban helyezkednek el, és nincsenek abszolút elérési utakhoz rendelve (áthelyezhetők).
A Tea két alapvető működési módot kínál: ugrás egy parancsértelmezőre, amely hozzáférést biztosít egy telepített csomagokat tartalmazó környezethez, és csomagokkal kapcsolatos parancsok közvetlen meghívása. Például a "tea +gnu.org/wget" futtatása a csomagkezelőt a wget segédprogram és az összes szükséges függőség letöltésére készteti, majd shell hozzáférést biztosít egy olyan környezetben, ahol a telepített wget segédprogram elérhető.
A második lehetőség a közvetlen indítást jelenti: ` tea +gnu.org/wget -qO- tea.xyz/white-paper | tea +charm.sh/glow glow -` , ami telepíti a wget segédprogramot és azonnal futtatja egy külön környezetben, letöltve egy fájlt, amely ezután glow-val lesz renderelve. Egy összetettebb lánc is lehetséges; például a `white-paper.pdf` fájl letöltéséhez és a glow segédprogrammal történő feldolgozásához használhatja a következő parancsot (ha a wget és a glow még nincsenek jelen, akkor települnek).
Hasonlóképpen közvetlenül futtathatsz szkripteket , kódpéldákat és ötletes kifejezéseket, automatikusan betöltve a feladathoz szükséges eszközöket.
Példa nélkül futtassa:
tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go
…
Telepíti a Go nyelvi eszközkészletet, és lefuttatja a color.go szkriptet „–sárga” argumentummal.
A tea parancs minden egyes meghívásának elkerülése érdekében univerzális virtuális környezetkezelőként és hiányzó program kezelőként csatlakoztathatja . Ebben az esetben, ha a futó program nem érhető el, akkor települ, és ha korábban telepítve volt, akkor elindul a környezetében.
Jelenlegi formájában a Tea csomagjai két gyűjteményben , a pantry.core és a pantry.extra gyűjteményben találhatók , amelyek tartalmazzák a csomagok letöltési forrásait, build szkriptjeit és függőségeit leíró metaadatokat.
A pantry.core gyűjtemény olyan alapvető könyvtárakat és segédprogramokat tartalmaz, amelyeket a Tea fejlesztői folyamatosan frissítenek és tesztelnek. A pantry.extra olyan csomagokat tartalmaz, amelyek még nem kellően stabilizáltak , vagy amelyeket a közösség javasolt. A csomagok böngészéséhez webes felület áll rendelkezésre.
A Tea csomagok létrehozásának folyamata nagymértékben leegyszerűsödik, és egy univerzális package.yml fájl létrehozására korlátozódik (példa), amelyhez nem szükséges minden új verzióhoz igazítani a csomagot. Az új verziók felfedezéséhez és a kód letöltéséhez a csomag összekapcsolható a GitHub-al.
A fájl a függőségeket is leírja, és összeállítási szkripteket biztosít a támogatott platformokhoz. A telepített függőségek megváltoztathatatlanok (a verzió rögzített), ami kiküszöböli a bal oldali pad incidenséhez hasonló ismétlődő helyzeteket.
A jövőben tervek vannak olyan decentralizált adattárak létrehozására, amelyek nem kötődnek semmilyen különálló tárolóhoz, valamint elosztott blokklánc használatára a metaadatokhoz és decentralizált infrastruktúrára a csomagok tárolásához. A verziókat közvetlenül a karbantartók fogják hitelesíteni, és az érdekelt felek felülvizsgálják. Lehetséges lehet kriptovaluta tokenek terjesztése a csomagok karbantartásának, támogatásának, terjesztésének és ellenőrzésének elősegítése érdekében.
Végül érdemes megemlíteni, hogy a projektet jelenleg többplatformos alkalmazásként fejlesztik (jelenleg a macOS és a Linux támogatott, a Windows támogatás fejlesztés alatt áll). A projektkód TypeScriptben íródott, és Apache 2.0 licenc alatt terjed (a brew-t Rubyban írták, és BSD licenc alatt adták ki).
Ha többet szeretne megtudni, a Tea részleteit és használati útmutatóját a következő linken találja.