De Schëpfer vu Brau entwéckelt en neie Package Manager Téi

De Max Howell, den Auteur vum populäre macOS Package Management System Brau (Homebrew), entwéckelt en neie Package Manager genannt Tea, positionéiert als Fortsetzung vun der Entwécklung vu Brau, geet iwwer de Package Manager eraus a bitt eng vereenegt Package Management Infrastruktur déi funktionnéiert mat dezentraliséierte Repositories. De Projet gëtt am Ufank als Multi-Plattform Projet entwéckelt (macOS a Linux ginn am Moment ënnerstëtzt, Windows Support ass an der Entwécklung). De Projet Code ass an TypeScript geschriwwen a verdeelt ënner der Apache 2.0 Lizenz (Brau gouf a Ruby geschriwwe a verdeelt ënner der BSD Lizenz).

Téi ass konzeptuell net wéi traditionell Packagemanager an amplaz vum "Ech wëll e Package installéieren" Paradigma benotzt et de "Ech wëll e Package benotzen" Paradigma. Besonnesch Tea huet kee Kommando fir e Package als solch z'installéieren, awer benotzt d'Ëmfeldgeneratioun fir de Packageinhalt auszeféieren deen net mam aktuelle System iwwerlappt. Pakete ginn an engem getrennten ~/.tea Verzeichnis gesat a sinn net un absolute Weeër gebonnen (se kënne geréckelt ginn).

Zwee Haaptoperatiounsmodi ginn zur Verfügung gestallt: op eng Kommandoshell mat Zougang zu der Ëmwelt mat installéierten Packagen goen, an direkt Paket-verbonne Kommandoen ruffen. Zum Beispill, wann Dir "tea +gnu.org/wget" ausféiert, wäert de Package Manager d'wget Utility an all néideg Ofhängegkeeten eroflueden, an dann Shell Zougang an der Ëmwelt ubidden, an där de installéierten wget Utility verfügbar ass. Déi zweet Optioun beinhalt direkt Start - "tea +gnu.org/wget wget https://some_webpage", an deem d'wget Utility installéiert gëtt an direkt an engem separaten Ëmfeld lancéiert gëtt. Et ass méiglech komplex Ketten ze komponéieren, zum Beispill, fir d'White-paper.pdf Datei erofzelueden an se mat der Glühdéngscht ze veraarbechten, kënnt Dir déi folgend Konstruktioun benotzen (wann wget a Glow fehlen, gi se installéiert): Téi + gnu.org/wget wget -qO- https://tea.xyz/white-paper.pdf | Téi +charm.sh/glow Glow - oder Dir kënnt eng méi einfach Syntax benotzen: Téi -X wget -qO- tea.xyz/white-paper | Téi -X Glow -

Op eng ähnlech Manéier kënnt Dir direkt Scripten, Code Beispiller an One-Liner lafen, automatesch d'Tools déi néideg sinn fir hir Operatioun ze lueden. Zum Beispill, laafen "Téi https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" wäert de Go Toolkit installéieren an de Colors.go Skript mat dem Argument "-Yellow" ausféieren.

Fir net all Kéier den Téi Kommando ze ruffen, ass et méiglech et als Universal Manager vu virtuellen Ëmfeld an als Handler fir fehlend Programmer ze verbannen. An dësem Fall, wann de lafende Programm net verfügbar ass, gëtt et installéiert, a wann et virdru installéiert gouf, gëtt et a senger Ëmwelt gestart. $ deno zsh: Kommando net fonnt: deno $ cd my-project $ deno tea: installéieren deno.land^1.22 deno 1.27.0 > ^D

A senger aktueller Form sinn d'Packagen, déi fir Téi verfügbar sinn, an zwou Sammlungen gesammelt - pantry.core an pantry.extra, déi Metadaten enthalen, déi Package Downloadquellen beschreiwen, Scripten an Ofhängegkeeten bauen. D'pantry.core Sammlung enthält d'Haaptbibliothéiken an Utilities, aktualiséiert a getest vun Tea Entwéckler. Pantry.extra enthält Packagen déi net genuch stabiliséiert sinn oder déi vu Membere vun der Gemeinschaft proposéiert ginn. Eng Webinterface gëtt zur Verfügung gestallt fir duerch d'Packagen ze navigéieren.

De Prozess fir Packagen fir Téi ze kreéieren ass immens vereinfacht a kënnt erof op eng universal package.yml Datei (Beispill), déi net de Package fir all nei Versioun adaptéiere brauch. E Package kann op GitHub verbannen fir nei Versiounen z'entdecken an hire Code erofzelueden. D'Datei beschreift och Ofhängegkeeten a bitt Build Scripte fir ënnerstëtzt Plattformen. Déi installéiert Ofhängegkeete sinn onverännerbar (d'Versioun ass fixéiert), wat d'Widderhuelung vu Situatiounen ähnlech wéi de lénksen Pad-Tëschefall eliminéiert.

An Zukunft ass et geplangt dezentraliséiert Repositories ze kreéieren déi net mat enger separater Späichere gebonne sinn an eng verdeelt Blockchain fir Metadaten benotzen, an eng dezentraliséiert Infrastruktur fir Packagen ze späicheren. Verëffentlechunge ginn direkt vun den Entrepreneuren zertifizéiert a vun den Akteuren iwwerpréift. Et ass méiglech cryptocurrency Tokens ze verdeelen fir Bäiträg zum Ënnerhalt, Ënnerstëtzung, Verdeelung a Verifizéierung vu Packagen.

De Schëpfer vu Brau entwéckelt en neie Package Manager Téi


Source: opennet.ru

Setzt e Commentaire