Pruuli looja töötab välja uut pakendihalduri teed

Populaarse macOS-i paketihaldussüsteemi brew (Homebrew) autor Max Howell töötab välja uut paketihaldurit Tea, mis on positsioneeritud pruuli arendamise jätkuna, väljudes paketihaldurist ja pakkudes ühtset toimivat paketihaldusinfrastruktuuri. detsentraliseeritud hoidlate abil. Projekti arendatakse esialgu mitme platvormi projektina (hetkel on toetatud macOS ja Linux, Windowsi tugi on arendamisel). Projekti kood on kirjutatud TypeScriptis ja seda levitatakse Apache 2.0 litsentsi all (pruuli kirjutati Ruby keeles ja levitati BSD litsentsi all).

Tea ei ole põhimõtteliselt nagu traditsioonilised paketihaldurid ja paradigma "Tahan installida paketti" asemel kasutab see paradigmat "Ma tahan paketti kasutada". Eelkõige ei ole Teal käsku paketi kui sellise installimiseks, vaid kasutab keskkonna genereerimist, et käivitada paketi sisu, mis ei kattu praeguse süsteemiga. Pakid paigutatakse eraldi ~/.tea kataloogi ega ole seotud absoluutsete radadega (neid saab teisaldada).

Pakutakse kahte peamist töörežiimi: käsukesta avamine, millel on juurdepääs installitud pakettidega keskkonnale, ja otse paketiga seotud käskude kutsumine. Näiteks "tea +gnu.org/wget" käivitamisel laadib paketihaldur alla utiliidi wget ja kõik vajalikud sõltuvused ning tagab seejärel juurdepääsu kestale keskkonnas, kus installitud wget-utiliit on saadaval. Teine võimalus hõlmab otsest käivitamist - “tea +gnu.org/wget wget https://some_webpage”, millesse installitakse utiliit wget ja käivitatakse kohe eraldi keskkonnas. Võimalik on koostada keerulisi ahelaid, näiteks laadida alla fail white-paper.pdf ja töödelda seda utiliidiga glow, saab kasutada järgmist konstruktsiooni (kui wget ja glow puuduvad, paigaldatakse need): tee + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | tee +charm.sh/glow glow - või võite kasutada ka lihtsamat süntaksit: tea -X wget -qO- tea.xyz/white-paper | tee -X kuma -

Sarnasel viisil saate otse käivitada skripte, koodinäiteid ja üherealisi, laadides automaatselt nende tööks vajalikud tööriistad. Näiteks käsu "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" käivitamine installib Go tööriistakomplekti ja käivitab skripti colours.go argumendiga "-yellow".

Et mitte teekäsku iga kord välja kutsuda, on võimalik see ühendada universaalse virtuaalkeskkondade haldurina ja puuduvate programmide käsitlejana. Sel juhul, kui töötav programm pole saadaval, siis see installitakse ja kui see oli varem installitud, siis käivitatakse see oma keskkonnas. $ deno zsh: käsku ei leitud: deno $ cd minu projekt $ deno tea: installimine deno.land^1.22 deno 1.27.0 > ^D

Praegusel kujul on Tea jaoks saadaolevad paketid kogutud kahte kogusse – pantry.core ja pantry.extra, mis sisaldavad pakettide allalaadimise allikaid, ehitusskripte ja sõltuvusi kirjeldavaid metaandmeid. Pantry.core kollektsioon sisaldab peamisi teeke ja utiliite, mida hooldavad ajakohased ja testivad Tea arendajad. Pantry.extra sisaldab pakette, mis pole piisavalt stabiliseeritud või mida on soovitanud kogukonna liikmed. Paketites navigeerimiseks pakutakse veebiliidest.

Tea pakettide loomise protsess on oluliselt lihtsustatud ja taandub ühe universaalse paketti.yml faili loomisele (näide), mis ei nõua paketi kohandamist iga uue versiooni jaoks. Uute versioonide avastamiseks ja nende koodi allalaadimiseks saab pakett linkida GitHubiga. Fail kirjeldab ka sõltuvusi ja pakub toetatud platvormidele ehitamise skripte. Paigaldatud sõltuvused on muutumatud (versioon on fikseeritud), mis välistab vasakpoolse vahejuhtumiga sarnaste olukordade kordumise.

Tulevikus on plaanis luua detsentraliseeritud hoidlad, mis ei ole seotud ühegi eraldi salvestusega ja kasutavad metaandmete jaoks hajutatud plokiahelat ning pakettide hoidmiseks detsentraliseeritud infrastruktuuri. Väljalaseid sertifitseerivad otse hooldajad ja sidusrühmad vaatavad need üle. Krüptoraha žetoone on võimalik levitada pakettide hoolduse, toe, levitamise ja kontrollimise panustamiseks.

Pruuli looja töötab välja uut pakendihalduri teed


Allikas: opennet.ru

Lisa kommentaar