Max Howell, plataforma ezagunaren egilea macOS Brew (Homebrew) paketeen kudeaketa sistemak paketeen kudeatzaile berri bat garatzen ari da, Tea izenekoa, brew-en jarraipen gisa kokatua, paketeen kudeatzaileaz harago joanez eta biltegi deszentralizatuekin funtzionatzen duen paketeen kudeaketa azpiegitura bateratu bat eskainiz. Proiektua hasieratik plataforma anitzeko proiektu gisa garatzen ari da (gaur egun onartzen da macOS и Linux, laguntza garatzen ari da Windows). Proiektuaren kodea TypeScript-en idatzita dago eta Apache 2.0 lizentziapean banatzen da (brew Ruby-n idatzi zen eta BSD lizentziapean banatu zen).
Kontzeptualki Tea pakete kudeatzaile tradizionalen aldean desberdina da, eta "Pakete bat instalatu nahi dut" paradigmaren ordez, "Pakete bat erabili nahi dut" printzipioa erabiltzen du. Zehazki, Teak ez du pakete bat instalatzeko komando egokirik; horren ordez, paketearen edukia exekutatzeko ingurune bat sortzen du, uneko sisteman eraginik ez duena. Paketeak ~/.tea direktorio bereizi batean gordetzen dira, eta ez daude bide absolutuetara lotuta (mugitu daitezke).
Bi funtzionamendu modu nagusi daude: instalatutako paketeak dituen ingurunerako sarbidea duen komando-shell batera aldatzea eta pakete bati lotutako komandoak zuzenean deitzea. Adibidez, "tea +gnu.org/wget" exekutatzean, pakete-kudeatzaileak wget utilitatea eta beharrezko mendekotasun guztiak deskargatuko ditu, eta ondoren shell sarbidea emango du instalatutako wget utilitatea eskuragarri dagoen ingurunean. Bigarren aukerak zuzeneko abiaraztea dakar - "tea +gnu.org/wget wget https://some_webpage", eta horrek wget utilitatea instalatuko du eta berehala exekutatuko du ingurune bereizi batean. Kate konplexuak osa daitezke; adibidez, white-paper.pdf fitxategia deskargatzeko eta glow utilitatearekin prozesatzeko, eraikuntza hau erabil dezakezu (wget eta glow ez badaude, instalatuko dira): tea +gnu.org/wget wget -qO- https://tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - edo sintaxi sinpleago bat erabil dezakezu: tea -X wget -qO- tea.xyz/white-paper | tea -X glow —
Era berean, script-ak, kode laginak eta lerro bakarreko testuak zuzenean exekutatu ditzakezu, beharrezko tresna-katea automatikoki kargatuz. Adibidez, "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go --yellow" exekutatzeak Go hizkuntzaren tresna-katea instalatuko du eta colors.go script-a exekutatuko du "--yellow" argumentuarekin.
tea komandoa behin eta berriz deitu beharrik ez izateko, ingurune birtual unibertsal kudeatzaile eta falta diren programen maneiatzaile gisa gaitu dezakezu. Kasu honetan, martxan dagoen programa bat eskuragarri ez badago, instalatuko da, eta aurretik instalatuta bazegoen, bere ingurunean abiaraziko da. $ deno zsh: komandoa ez da aurkitu: deno $ cd my-project $ deno tea: deno.land^1.22 instalatzen deno 1.27.0 > ^D
Gaur egun, Tea-rako eskuragarri dauden paketeak bi bildumatan antolatuta daude —pantry.core eta pantry.extra—, eta horietan paketeak deskargatzeko iturriak, eraikuntza-gidoiak eta mendekotasunak deskribatzen dituzten metadatuak daude. Pantry.core bilduman Tea garatzaileek mantendu eta probatu dituzten oinarrizko liburutegiak eta utilitateak daude. Pantry.extra oraindik egonkorrak ez diren edo komunitateko kideek bidalitako paketeetarako da. Web interfazea eskaintzen da paketeetan nabigatzeko.
Tea-rako paketeak sortzeko prozesua asko sinplifikatu da eta package.yml fitxategi unibertsal bakarra (adibidea) sortzera mugatzen da, paketea bertsio berri bakoitzerako egokitu beharrik gabe. Paketeak GitHub-era esteka dezake bertsio berriak detektatzeko eta haien kodea deskargatzeko. Fitxategiak mendekotasunak ere deskribatzen ditu eta plataforma onartuetarako eraikuntza-gidoiak eskaintzen ditu. Instalatutako mendekotasunak aldaezinak dira (bertsioa finkoa da), ezkerreko teklatuaren antzeko egoerak berriro gerta ez daitezen.
Etorkizuneko planen artean, biltegi bakar bati lotuta ez dauden eta metadatuetarako blockchain banatua eta paketeak gordetzeko azpiegitura deszentralizatua erabiltzen duten biltegi deszentralizatuak sortzea dago. Bertsioak mantentzaileek zuzenean ziurtatuko dituzte eta interesdunek berrikusiko dituzte. Kriptomoneta tokenak eskuragarri egongo dira paketeen mantentze-lanetarako, laguntzarako, banaketarako eta berrikuspenerako ekarpenetarako.

Iturria: opennet.ru
