Skaberen af ​​bryg er ved at udvikle en ny pakkemanager-te

Max Howell, forfatteren af ​​det populære macOS-pakkehåndteringssystembryg (Homebrew), er ved at udvikle en ny pakkehåndtering kaldet Tea, placeret som en fortsættelse af udviklingen af ​​bryg, der går ud over pakkehåndteringen og tilbyder en samlet pakkehåndteringsinfrastruktur, der fungerer med decentraliserede depoter. Projektet udvikles i første omgang som et multi-platform projekt (macOS og Linux er i øjeblikket understøttet, Windows support er under udvikling). Projektkoden er skrevet i TypeScript og distribueret under Apache 2.0-licensen (bryg blev skrevet i Ruby og distribueret under BSD-licensen).

Te er konceptuelt ikke som traditionelle pakkeadministratorer, og i stedet for "Jeg vil installere en pakke"-paradigmet, bruger den "Jeg vil bruge en pakke"-paradigmet. Tea har især ikke en kommando til at installere en pakke som sådan, men bruger i stedet miljøgenerering til at udføre pakkeindholdet, der ikke overlapper med det nuværende system. Pakker placeres i et separat ~/.tea-bibliotek og er ikke bundet til absolutte stier (de kan flyttes).

To hovedfunktioner er tilvejebragt: at gå til en kommandoskal med adgang til miljøet med installerede pakker og direkte kalde pakkerelaterede kommandoer. For eksempel, når du udfører "tea +gnu.org/wget", vil pakkehåndteringen downloade wget-værktøjet og alle nødvendige afhængigheder og derefter give shell-adgang i det miljø, hvor det installerede wget-værktøj er tilgængeligt. Den anden mulighed involverer en direkte lancering - "tea +gnu.org/wget wget https://some_webpage", hvor wget-værktøjet vil blive installeret og straks lanceret i et separat miljø. Det er muligt at komponere komplekse kæder, for eksempel for at downloade white-paper.pdf-filen og behandle den med glow-værktøjet, du kan bruge følgende konstruktion (hvis wget og glow mangler, vil de blive installeret): te + gnu.org/wget wget -qO- https://tea.xyz/white-paper.pdf | te +charm.sh/glow glød - eller du kan bruge en enklere syntaks: te -X wget -qO- tea.xyz/white-paper | te -X glød —

På lignende måde kan du køre scripts, kodeeksempler og one-liners direkte, og automatisk indlæse de værktøjer, der er nødvendige for deres drift. For eksempel vil kørsel af "te https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" installere Go-værktøjssættet og udføre colors.go-scriptet med argumentet "-yellow".

For ikke at kalde te-kommandoen hver gang, er det muligt at forbinde den som en universel administrator af virtuelle miljøer og en behandler for manglende programmer. I dette tilfælde, hvis det kørende program ikke er tilgængeligt, vil det blive installeret, og hvis det blev installeret tidligere, vil det blive lanceret i sit miljø. $ deno zsh: kommando ikke fundet: deno $ cd mit-projekt $ deno te: installerer deno.land^1.22 deno 1.27.0 > ^D

I sin nuværende form er de tilgængelige pakker til Tea samlet i to samlinger - pantry.core og pantry.extra, som inkluderer metadata, der beskriver pakkedownloadkilder, build-scripts og afhængigheder. Pantry.core-samlingen inkluderer de vigtigste biblioteker og hjælpeprogrammer, vedligeholdt ajour og testet af Tea-udviklere. Pantry.extra indeholder pakker, der ikke er stabiliserede nok, eller som er foreslået af medlemmer af fællesskabet. Der er en webgrænseflade til at navigere gennem pakkerne.

Processen med at oprette pakker til Tea er meget forenklet og kommer ned til at oprette én universel package.yml-fil (eksempel), som ikke kræver tilpasning af pakken til hver ny version. En pakke kan linke til GitHub for at opdage nye versioner og downloade deres kode. Filen beskriver også afhængigheder og giver build-scripts til understøttede platforme. De installerede afhængigheder er uforanderlige (versionen er fast), hvilket eliminerer gentagelsen af ​​situationer, der ligner hændelsen på venstre pad.

I fremtiden er det planen at skabe decentrale repositories, der ikke er bundet til noget separat lager og bruge en distribueret blockchain til metadata og en decentral infrastruktur til lagring af pakker. Udgivelser vil blive certificeret direkte af vedligeholdere og gennemgået af interessenter. Det er muligt at distribuere cryptocurrency-tokens til bidrag til vedligeholdelse, support, distribution og verifikation af pakker.

Skaberen af ​​bryg er ved at udvikle en ny pakkemanager-te


Kilde: opennet.ru

Tilføj en kommentar