A brew creator új teacsomagkezelőt fejleszt ki

Max Howell, a népszerű macOS csomagkezelő rendszer brew (Homebrew) szerzője új csomagkezelőt fejleszt Tea néven, amely a brew fejlesztésének folytatásaként pozicionálva, túlmutat a csomagkezelőn, és egységes csomagkezelő infrastruktúrát kínál, amely működik. decentralizált tárolókkal. A projektet kezdetben többplatformos projektként fejlesztik (jelenleg a macOS és a Linux támogatott, a Windows támogatás fejlesztés alatt áll). A projekt kódja TypeScriptben íródott, és az Apache 2.0 licenc alatt terjeszthető (a brew Ruby nyelven íródott, és BSD licenc alatt terjesztették).

A tea elvileg nem olyan, mint a hagyományos csomagkezelők, és a "csomagot szeretnék telepíteni" paradigma helyett a "csomagot akarok használni" paradigmát használja. Konkrétan, a Tea nem rendelkezik egy csomag telepítésére vonatkozó paranccsal, hanem környezetgenerálást használ a csomag tartalmának végrehajtására, amely nem fedi át a jelenlegi rendszert. A csomagok külön ~/.tea könyvtárba kerülnek, és nincsenek abszolút elérési utakhoz kötve (áthelyezhetők).

Két fő működési mód áll rendelkezésre: egy parancshéj megnyitása, amely hozzáférést biztosít a telepített csomagokkal rendelkező környezethez, és közvetlenül meghívja a csomagokkal kapcsolatos parancsokat. Például a "tea +gnu.org/wget" futtatásakor a csomagkezelő letölti a wget segédprogramot és az összes szükséges függőséget, majd shell-hozzáférést biztosít abban a környezetben, amelyben 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 wget https://some_webpage”, amelyben a wget segédprogram telepítésre kerül, és azonnal elindul egy külön környezetben. Lehetőség van összetett láncok összeállítására, például a white-paper.pdf fájl letöltésére és a glow segédprogrammal történő feldolgozására, a következő konstrukciót használhatja (ha a wget és a glow hiányzik, akkor telepítésre kerül): tea + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - vagy használhatsz egyszerűbb szintaxist is: tea -X wget -qO- tea.xyz/white-paper | tea -X ragyogás —

Hasonló módon közvetlenül is futtathat szkripteket, kódpéldákat és egysoros programokat, automatikusan betöltve a működésükhöz szükséges eszközöket. Például a "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" futtatása telepíti a Go eszközkészletet, és végrehajtja a color.go szkriptet a "-yellow" argumentummal.

Annak érdekében, hogy ne hívja meg minden alkalommal a tea parancsot, csatlakoztatható a virtuális környezetek univerzális kezelőjeként és a hiányzó programok kezelőjeként. Ebben az esetben, ha a futó program nem elérhető, akkor telepítésre kerül, ha pedig korábban, akkor a környezetében indul el. $ deno zsh: parancs nem található: deno $ cd my-project $ deno tea: deno.land^1.22 deno 1.27.0 telepítése > ^D

Jelenlegi formájában a Tea számára elérhető csomagok két gyűjteményben vannak összegyűjtve - a pantry.core és a pantry.extra, amelyek a csomagletöltési forrásokat, a build szkripteket és a függőségeket leíró metaadatokat tartalmazzák. A pantry.core gyűjtemény tartalmazza a főbb könyvtárakat és segédprogramokat, amelyeket naprakészen tartanak és teszteltek a Tea fejlesztői. A Pantry.extra nem eléggé stabilizált vagy a közösség tagjai által javasolt csomagokat tartalmaz. A csomagok közötti navigációhoz webes felületet biztosítunk.

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ához vezet (példa), amelyhez nincs szükség a csomag minden új verzióhoz való igazítására. Egy csomag kapcsolódhat a GitHubhoz, hogy új verziókat fedezzen fel és töltse le a kódját. 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ó fix), ami kiküszöböli a bal oldali incidenshez hasonló helyzetek megismétlődését.

A jövőben a tervek szerint decentralizált tárhelyeket hoznak létre, amelyek nem kötődnek semmilyen külön tárolóhoz, és elosztott blokkláncot használnak a metaadatokhoz, illetve egy decentralizált infrastruktúrát a csomagok tárolására. A kiadásokat közvetlenül a karbantartók hitelesítik, és az érintettek felülvizsgálják. Lehetőség van kriptovaluta tokenek terjesztésére a csomagok karbantartásához, támogatásához, terjesztéséhez és ellenőrzéséhez való hozzájárulás érdekében.

A brew creator új teacsomagkezelőt fejleszt ki


Forrás: opennet.ru

Hozzászólás