brew veidotājs izstrādā jaunu tējas iepakojuma pārvaldnieku

Makss Hovels, populārās macOS pakotņu pārvaldÄ«bas sistēmas brew (Homebrew) autors, izstrādā jaunu pakotņu pārvaldnieku Tea, kas tiek pozicionēts kā brew attÄ«stÄ«bas turpinājums, pārsniedzot pakotņu pārvaldnieku un piedāvājot vienotu pakotņu pārvaldÄ«bas infrastruktÅ«ru, kas darbojas. ar decentralizētām krātuvēm. Projekts sākotnēji tiek izstrādāts kā vairāku platformu projekts (paÅ”laik tiek atbalstÄ«ti macOS un Linux, Windows atbalsts ir izstrādes stadijā). Projekta kods ir rakstÄ«ts TypeScript un izplatÄ«ts saskaņā ar Apache 2.0 licenci (brew tika rakstÄ«ts Ruby un izplatÄ«ts saskaņā ar BSD licenci).

Tēja konceptuāli nav lÄ«dzÄ«ga tradicionālajiem pakotņu pārvaldniekiem, un paradigmas "Es vēlos instalēt pakotni" vietā tā izmanto paradigmu "Es gribu izmantot pakotni". Konkrēti, Tea nav komandas instalēt pakotni kā tādu, bet tā izmanto vides Ä£enerÄ“Å”anu, lai izpildÄ«tu pakotnes saturu, kas nepārklājas ar paÅ”reizējo sistēmu. Pakas tiek ievietotas atseviŔķā ~/.tea direktorijā un nav saistÄ«tas ar absolÅ«tajiem ceļiem (tās var pārvietot).

Tiek nodroÅ”ināti divi galvenie darbÄ«bas režīmi: doÅ”anās uz komandu apvalku ar piekļuvi videi ar instalētām pakotnēm un tieÅ”a ar pakotnēm saistÄ«tu komandu izsaukÅ”ana. Piemēram, izpildot "tea +gnu.org/wget", pakotņu pārvaldnieks lejupielādēs wget utilÄ«tu un visas nepiecieÅ”amās atkarÄ«bas un pēc tam nodroÅ”inās čaulas piekļuvi vidē, kurā ir pieejama instalētā wget utilÄ«ta. Otrā iespēja ietver tieÅ”u palaiÅ”anu - ā€œtea +gnu.org/wget wget https://some_webpageā€, kurā wget utilÄ«ta tiks instalēta un nekavējoties palaista atseviŔķā vidē. Ir iespējams sastādÄ«t sarežģītas ķēdes, piemēram, lejupielādēt failu white-paper.pdf un apstrādāt to ar utilÄ«tu glow, var izmantot Ŕādu konstrukciju (ja trÅ«kst wget un glow, tie tiks instalēti): tea + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - vai arÄ« varat izmantot vienkārŔāku sintaksi: tea -X wget -qO- tea.xyz/white-paper | tēja -X mirdzums -

LÄ«dzÄ«gā veidā jÅ«s varat tieÅ”i palaist skriptus, kodu piemērus un vienrindas, automātiski ielādējot to darbÄ«bai nepiecieÅ”amos rÄ«kus. Piemēram, palaižot "tea https://gist.githubusercontent.com/i0bj/ā€¦/raw/colors.go -yellow", tiks instalēta Go rÄ«kkopa un tiks izpildÄ«ts skripts colours.go ar argumentu "-yellow".

Lai tējas komanda neizsauktu katru reizi, to iespējams pieslēgt kā universālu virtuālo vidi pārvaldnieku un trÅ«kstoÅ”o programmu apstrādātāju. Šādā gadÄ«jumā, ja darbojoŔā programma nav pieejama, tā tiks instalēta, un, ja tā ir instalēta iepriekÅ”, tā tiks palaista savā vidē. $ deno zsh: komanda nav atrasta: deno $ cd mans projekts $ deno tea: instalējot deno.land^1.22 deno 1.27.0 > ^D

PaÅ”reizējā formā Tea pieejamās pakotnes ir apkopotas divās kolekcijās - pantry.core un pantry.extra, kas ietver metadatus, kas apraksta pakotņu lejupielādes avotus, veidoÅ”anas skriptus un atkarÄ«bas. Kolekcijā pantry.core ir iekļautas galvenās bibliotēkas un utilÄ«tas, kuras ir atjauninātas un testējuÅ”as tējas izstrādātāji. Pantry.extra satur paketes, kas nav pietiekami stabilizētas vai kuras ir ieteikuÅ”i kopienas locekļi. Lai pārvietotos pa pakotnēm, tiek nodroÅ”ināta tÄ«mekļa saskarne.

Tea pakotņu izveides process ir ievērojami vienkārÅ”ots, un tas ir saistÄ«ts ar viena universāla paketes.yml faila izveidi (piemērs), kas neprasa pakotnes pielāgoÅ”anu katrai jaunajai versijai. Pakotne var izveidot saiti uz GitHub, lai atklātu jaunas versijas un lejupielādētu to kodu. Fails arÄ« apraksta atkarÄ«bas un nodroÅ”ina atbalstÄ«to platformu veidoÅ”anas skriptus. Instalētās atkarÄ«bas ir nemainÄ«gas (versija ir fiksēta), kas novērÅ” tādu situāciju atkārtoÅ”anos, kas ir lÄ«dzÄ«gas incidentam ar kreiso taustiņu.

Nākotnē plānots izveidot decentralizētus repozitorijus, kas nav piesaistÄ«ti nevienai atseviŔķai krātuvei un izmanto izkliedētu blokķēdi metadatiem, bet decentralizētu infrastruktÅ«ru pakotņu glabāŔanai. Laidienus sertificēs tieÅ”i uzturētāji, un tos pārskatÄ«s ieinteresētās personas. Ir iespējams izplatÄ«t kriptovalÅ«tas marÄ·ierus, lai sniegtu ieguldÄ«jumu pakeÅ”u uzturÄ“Å”anā, atbalstÄ«Å”anā, izplatÄ«Å”anā un pārbaudē.

brew veidotājs izstrādā jaunu tējas iepakojuma pārvaldnieku


Avots: opennet.ru

Pievieno komentāru