Tea the new brew creator package manager

Te

te skapar ny teknik som kommer att förändra sättet kod distribueras på

Max Howell, författare av det populära pakethanteringssystemet brygga (Hembrew) av macOS, avslöjade det arbetar med utvecklingen av en ny pakethanterare, kallad Tea, som är positionerat som en fortsättning på bryggutveckling, som går utöver pakethanteraren och erbjuder en enhetlig pakethanteringsinfrastruktur som fungerar med decentraliserade arkiv.

Te är inte konceptuellt som traditionella pakethanterare., och istället för "Jag vill installera ett paket"-paradigmet, använder den metoden "Jag vill använda ett paket".

I synnerhet Tea har inget paketinstallationskommando som sådan, utan använder istället miljögenerering för att köra paketinnehåll som inte överlappar det nuvarande systemet. Paketen placeras i en separat ~/.tea-katalog och tilldelas inte absoluta sökvägar (de kan flyttas).

Två grundläggande lägen finns i Tea operation: Hoppa in i ett kommandoskal med tillgång till en miljö med paket installerade och anropa direkt paketrelaterade kommandon. Till exempel, genom att köra "tea +gnu.org/wget", laddar pakethanteraren ner verktyget wget och alla nödvändiga beroenden och ger sedan skalåtkomst i en miljö där det installerade verktyget wget är tillgängligt.

Det andra alternativet innebär en direkt lansering: «tea +gnu.org/wget -qO- tea.xyz/white-paper | te +charm.sh/glow glöd – ", som kommer att installera verktyget wget och köra det omedelbart i en separat miljö och ladda ner en fil som kommer att renderas med glow. Komplex kedja är möjlig, till exempel för att ladda ner filen white-paper.pdf och bearbeta den med glow-verktyget, kan du använda följande konstruktion (om wget och glow inte finns, kommer de att installeras).

på liknande sätt, du kan köra skript direkt, kodexempel och one-liners, laddar automatiskt de verktyg som behövs för jobbet.

För inget exempel, kör:

tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go
…

Det kommer att installera Go-språkverktyget och köra colors.go-skriptet med "–gul" som argument.

För att inte ringa tekommandot varje gång är det möjligt att koppla det som en universell chef av virtuella miljöer och en drivrutin för saknade program. I det här fallet, om programmet som körs inte är tillgängligt, kommer det att installeras och, om det tidigare har installerats, kommer det att starta i din miljö.

I sin nuvarande form, de förpackningar som finns för Tea samlas i två samlingar, skafferi.kärna och skafferi.extra, som inkluderar metadata som beskriver paketnedladdningskällor, byggskript och beroenden.

Samlingen pantry.core innehåller kärnbibliotek och verktyg som Tea-utvecklare hålls uppdaterade och testade. pantry.extra innehåller paket som inte är väl stabiliserade eller som föreslagits av samhället. Ett webbgränssnitt tillhandahålls för att navigera genom paketen.

Processen att skapa paket för Tea är avsevärt förenklad och reducerad till att skapa en universell package.yml-fil (exempel), som inte kräver att paketet anpassas för varje ny version. För att upptäcka nya versioner och ladda ner dess kod kan paketet länkas till GitHub.

Filen beskriver också beroenden och tillhandahåller byggskript för plattformar som stöds. Installerade beroenden är oföränderliga (versionen är fast), vilket eliminerar upprepade situationer som liknar den vänstra pad-incidenten.

I framtiden är det planerat att skapa decentraliserade förvar somue är inte bundna till någon separat lagring och använder en distribuerad blockkedja för metadata och en decentraliserad infrastruktur för att lagra paket. Versionerna kommer att certifieras direkt av underhållarna och granskas av berörda parter. Det är möjligt att distribuera cryptocurrency-tokens för att bidra till underhåll, support, distribution och verifiering av paket.

Slutligen är det värt att nämna att för närvarande projektet är initialt utvecklat som plattformsoberoende (macOS och Linux stöds för närvarande, Windows-stöd är under utveckling.) Projektets kod är skriven i TypeScript och släpps under Apache 2.0-licensen (bryggningen skrevs i Ruby och skickades under en BSD-licens).

Om du är intresserad av att kunna lära dig mer om det, kan du konsultera Teas detaljer och användarmanual på följande länk.


Lägg till som prioriterad källa i Google