brew creator razvija nov upravitelj paketov čaja

Max Howell, avtor priljubljenega sistema za upravljanje paketov macOS brew (Homebrew), razvija nov upravitelj paketov, imenovan Tea, ki je postavljen kot nadaljevanje razvoja brew, presega upravitelja paketov in ponuja enotno infrastrukturo za upravljanje paketov, ki deluje z decentraliziranimi repozitoriji. Projekt se sprva razvija kot večplatformski projekt (trenutno sta podprta macOS in Linux, podpora za Windows pa je v razvoju). Koda projekta je napisana v TypeScript in distribuirana pod licenco Apache 2.0 (brew je bil napisan v Rubyju in distribuiran pod licenco BSD).

Tea konceptualno ni podoben tradicionalnim upraviteljem paketov in namesto paradigme "Želim namestiti paket" uporablja paradigmo "Želim uporabiti paket". Zlasti Tea nima ukaza za namestitev paketa kot takega, ampak namesto tega uporablja generiranje okolja za izvajanje vsebine paketa, ki se ne prekriva s trenutnim sistemom. Paketi so postavljeni v ločen imenik ~/.tea in niso vezani na absolutne poti (lahko jih premikate).

Na voljo sta dva glavna načina delovanja: odpiranje ukazne lupine z dostopom do okolja z nameščenimi paketi in neposredno klicanje ukazov, povezanih s paketi. Na primer, pri izvajanju »tea +gnu.org/wget« bo upravitelj paketov prenesel pripomoček wget in vse potrebne odvisnosti ter nato zagotovil dostop lupine v okolju, v katerem je na voljo nameščen pripomoček wget. Druga možnost vključuje neposreden zagon - “tea +gnu.org/wget wget https://some_webpage”, v katerem bo pripomoček wget nameščen in takoj zagnan v ločenem okolju. Možno je sestaviti zapletene verige, na primer prenesti datoteko white-paper.pdf in jo obdelati s pripomočkom glow, lahko uporabite naslednjo konstrukcijo (če wget in glow manjkata, bosta nameščena): tea + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | tea +charm.sh/glow sijaj - lahko pa uporabite preprostejšo sintakso: tea -X wget -qO- tea.xyz/white-paper | čaj -X sij —

Na podoben način lahko neposredno zaženete skripte, primere kode in enovrstičnice, ki samodejno naložijo orodja, potrebna za njihovo delovanje. Če na primer zaženete »tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow«, boste namestili komplet orodij Go in izvedli skript colors.go z argumentom »-yellow«.

Da ukaza tea ne kličemo vsakič, ga lahko povežemo kot univerzalnega upravljalnika virtualnih okolij in upravljalnika manjkajočih programov. V tem primeru, če program, ki se izvaja, ni na voljo, bo nameščen, in če je bil nameščen prej, se bo zagnal v svojem okolju. $ deno zsh: ukaz ni bil najden: deno $ cd moj-projekt $ deno tea: namestitev deno.land^1.22 deno 1.27.0 > ^D

V trenutni obliki so paketi, ki so na voljo za Tea, zbrani v dveh zbirkah - pantry.core in pantry.extra, ki vključujeta metapodatke, ki opisujejo vire za prenos paketov, skripte za gradnjo in odvisnosti. Zbirka pantry.core vključuje glavne knjižnice in pripomočke, ki jih vzdržujejo posodobljene in testirajo razvijalci Tea. Pantry.extra vsebuje pakete, ki niso dovolj stabilizirani ali pa so jih predlagali člani skupnosti. Za navigacijo po paketih je na voljo spletni vmesnik.

Postopek ustvarjanja paketov za Tea je zelo poenostavljen in se zmanjša na ustvarjanje ene univerzalne datoteke package.yml (primer), ki ne zahteva prilagajanja paketa za vsako novo različico. Paket se lahko poveže z GitHub, da odkrije nove različice in prenese njihovo kodo. Datoteka opisuje tudi odvisnosti in nudi skripte za gradnjo za podprte platforme. Nameščene odvisnosti so nespremenljive (različica je popravljena), kar odpravlja ponavljanje situacij, podobnih incidentu z levo tipko.

V prihodnosti je načrtovana izdelava decentraliziranih repozitorijev, ki niso vezani na nobeno ločeno shranjevanje in uporabljajo porazdeljeno verigo blokov za metapodatke ter decentralizirano infrastrukturo za shranjevanje paketov. Izdaje bodo potrdili neposredno vzdrževalci, pregledale pa jih bodo zainteresirane strani. Možna je razdelitev žetonov kriptovalut za prispevke k vzdrževanju, podpori, distribuciji in preverjanju paketov.

brew creator razvija nov upravitelj paketov čaja


Vir: opennet.ru

Dodaj komentar