brew creator utvecklar ny tepakethanterare

Max Howell, författaren till det populära macOS-pakethanteringssystemet brew (Homebrew), utvecklar en ny pakethanterare kallad Tea, positionerad som en fortsättning på utvecklingen av brew, som går längre än pakethanteraren och erbjuder en enhetlig pakethanteringsinfrastruktur som fungerar med decentraliserade förråd. Projektet utvecklas initialt som ett multiplattformsprojekt (macOS och Linux stöds för närvarande, Windows-stöd är under utveckling). Projektkoden är skriven i TypeScript och distribuerad under Apache 2.0-licensen (bryggningen skrevs i Ruby och distribuerades under BSD-licensen).

Te är begreppsmässigt inte som traditionella pakethanterare och istället för "Jag vill installera ett paket"-paradigmet använder det paradigmet "Jag vill använda ett paket". I synnerhet har Tea inte ett kommando för att installera ett paket som sådant, utan använder istället miljögenerering för att exekvera paketinnehållet som inte överlappar det nuvarande systemet. Paketen placeras i en separat ~/.tea-katalog och är inte bundna till absoluta sökvägar (de kan flyttas).

Två huvudfunktioner tillhandahålls: gå till ett kommandoskal med åtkomst till miljön med installerade paket och direkt anropa paketrelaterade kommandon. Till exempel, när "tea +gnu.org/wget" körs, kommer pakethanteraren att ladda ner verktyget wget och alla nödvändiga beroenden och sedan ge skalåtkomst i miljön där det installerade verktyget wget är tillgängligt. Det andra alternativet involverar direktstart - "tea +gnu.org/wget wget https://some_webpage", där wget-verktyget kommer att installeras och omedelbart startas i en separat miljö. Det är möjligt att komponera komplexa kedjor, till exempel för att ladda ner filen white-paper.pdf och bearbeta den med glow-verktyget, du kan använda följande konstruktion (om wget och glow saknas kommer de att installeras): tea + gnu.org/wget wget -qO- https://tea.xyz/white-paper.pdf | te +charm.sh/glow glow - eller så kan du använda en enklare syntax: te -X wget -qO- tea.xyz/white-paper | te -X glöd —

På liknande sätt kan du köra skript, kodexempel och one-liners direkt, och automatiskt ladda de verktyg som behövs för att de ska fungera. Om du till exempel kör "te https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" kommer Go-verktygslådan att installeras och skriptet colors.go körs med argumentet "-yellow".

För att inte anropa tekommandot varje gång är det möjligt att koppla det som en universell hanterare av virtuella miljöer och en hanterare 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 har installerats tidigare kommer det att startas i sin miljö. $ deno zsh: kommandot hittades inte: deno $ cd my-project $ deno tea: installerar deno.land^1.22 deno 1.27.0 > ^D

I sin nuvarande form är paketen som är tillgängliga för Tea samlade i två samlingar - pantry.core och pantry.extra, som inkluderar metadata som beskriver paketnedladdningskällor, byggskript och beroenden. Pantry.core-samlingen inkluderar de viktigaste biblioteken och verktygen, uppdaterade och testade av Tea-utvecklare. Pantry.extra innehåller paket som inte är tillräckligt stabiliserade eller som föreslås av medlemmar i communityn. Ett webbgränssnitt tillhandahålls för att navigera genom paketen.

Processen att skapa paket för Tea är avsevärt förenklad och handlar om att skapa en universell package.yml-fil (exempel), som inte kräver anpassning av paketet för varje ny version. Ett paket kan länka till GitHub för att upptäcka nya versioner och ladda ner deras kod. Filen beskriver också beroenden och tillhandahåller byggskript för plattformar som stöds. De installerade beroendena är oföränderliga (versionen är fixerad), vilket eliminerar upprepning av situationer som liknar incidenten på vänster platta.

I framtiden är det planerat att skapa decentraliserade repositories som inte är bundna till någon separat lagring och använda en distribuerad blockkedja för metadata, och en decentraliserad infrastruktur för lagring av paket. Utsläpp kommer att certifieras direkt av underhållare och granskas av intressenter. Det är möjligt att distribuera cryptocurrency-tokens för bidrag till underhåll, support, distribution och verifiering av paket.

brew creator utvecklar ny tepakethanterare


Källa: opennet.ru

Lägg en kommentar