Brew-en sortzailea pakete kudeatzaile berria garatzen ari da

Max Howell, macOS paketeen kudeaketa sistema brew (Homebrew) ezagunaren egilea, Tea izeneko pakete-kudeatzaile berri bat garatzen ari da, brew-en garapenaren jarraipen gisa kokatuta, paketeen kudeatzailetik haratago joan eta funtzionatzen duen paketeen kudeaketa-azpiegitura bateratua eskaintzen du. biltegi deszentralizatuekin. Proiektua plataforma anitzeko proiektu gisa garatzen ari da hasieran (macOS eta Linux onartzen dira gaur egun, Windows euskarria garatzen ari da). Proiektuaren kodea TypeScript-en idatzita dago eta Apache 2.0 lizentziapean banatzen da (brew Ruby-n idatzi zen eta BSD lizentziapean banatu zen).

Tea kontzeptualki ez da paketeen kudeatzaile tradizionalak bezalakoa eta "Pakete bat instalatu nahi dut" paradigmaren ordez, "Pakete bat erabili nahi dut" paradigma erabiltzen du. Bereziki, Tea-k ez du pakete bat horrela instalatzeko komandorik, baizik eta ingurune-sorkuntza erabiltzen du uneko sistemarekin gainjartzen ez diren paketeen edukiak exekutatzeko. Paketeak ~/.tea direktorio bereizi batean jartzen dira eta ez daude bide absolutuetara loturik (mugi daitezke).

Bi eragiketa-modu nagusi eskaintzen dira: instalatutako paketeekin ingurunerako sarbidea duen komando-shell batera joatea eta paketeekin erlazionatutako komandoetara zuzenean deitzea. Adibidez, "tea +gnu.org/wget" exekutatzen denean, pakete-kudeatzaileak wget utilitatea eta beharrezko menpekotasun guztiak deskargatuko ditu, eta, ondoren, shell sarbidea emango du instalatutako wget utilitatea eskuragarri dagoen ingurunean. Bigarren aukerak zuzeneko abiarazte bat dakar - "tea +gnu.org/wget wget https://some_webpage", zeinetan wget utilitatea instalatu eta berehala abiaraziko den aparteko ingurune batean. Posible da kate konplexuak osatzea, adibidez, white-paper.pdf fitxategia deskargatzeko eta glow utilityarekin prozesatzeko, ondorengo eraikuntza erabil dezakezu (wget eta glow falta badira, 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 distira -

Era berean, scriptak, kode-adibideak eta lerro bakarrekoak zuzenean exekutatu ditzakezu, funtzionatzeko beharrezkoak diren tresnak automatikoki kargatuz. Adibidez, "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" exekutatzen baduzu, Go toolkit instalatuko da eta colors.go scripta exekutatu egingo da "-yellow" argumentuarekin.

Tea komandoari aldi bakoitzean deitzeko, posible da ingurune birtualen kudeatzaile unibertsal gisa eta falta diren programen kudeatzaile gisa konektatzea. Kasu honetan, exekutatzen ari den programa ez badago erabilgarri, instalatuko da, eta aurretik instalatuta egonez gero, bere ingurunean abiaraziko da. $ deno zsh: komandoa ez da aurkitu: deno $ cd nire-proiektua $ deno tea: deno.land^1.22 deno 1.27.0 > ^D instalatzen

Gaur egungo forman, Tearako eskuragarri dauden paketeak bi bildumatan biltzen dira: pantry.core eta pantry.extra, paketeen deskarga-iturriak, eraikitze-scriptak eta mendekotasunak deskribatzen dituzten metadatuak barne. Pantry.core bildumak liburutegi eta utilitate nagusiak biltzen ditu, eguneratuta eta Tea garatzaileek probatutakoak. Pantry.extrak nahikoa egonkortuta ez dauden edo komunitateko kideek iradokitako paketeak ditu. Web interfaze bat eskaintzen da paketeetan zehar nabigatzeko.

Tea-rako paketeak sortzeko prozesua asko errazten da eta pakete.yml fitxategi unibertsal bat sortzean datza (adibidea), horrek ez du paketea bertsio berri bakoitzerako egokitu behar. Pakete batek GitHub-era esteka dezake bertsio berriak ezagutzeko eta haien kodea deskargatzeko. Fitxategiak mendekotasunak deskribatzen ditu eta onartzen diren plataformetarako eraikitze-scriptak eskaintzen ditu. Instalatutako menpekotasunak aldaezinak dira (bertsioa finkoa da), eta horrek ezkerreko padaren gertakariaren antzeko egoerak errepikatzea ezabatzen du.

Etorkizunean, biltegiratze deszentralizatuak sortzea aurreikusten da, inolako biltegiratze bereizi batera lotuta ez dauden eta metadatuetarako banatutako bloke-kate bat erabiltzea eta paketeak gordetzeko azpiegitura deszentralizatua erabiltzea. Mantentzaileek zuzenean ziurtatuko dituzte bertsioak eta interesdunek berrikusiko dituzte. Posible da kriptomoneta tokenak banatzea paketeen mantentze, laguntza, banaketa eta egiaztapenerako ekarpenetarako.

Brew-en sortzailea pakete kudeatzaile berria garatzen ari da


Iturria: opennet.ru

Gehitu iruzkin berria