Mae crëwr bragu yn datblygu te rheolwr pecyn newydd

Mae Max Howell, awdur y bragu system rheoli pecynnau poblogaidd macOS (Homebrew), yn datblygu rheolwr pecyn newydd o'r enw Tea, wedi'i leoli fel parhad o ddatblygiad bragu, gan fynd y tu hwnt i'r rheolwr pecyn a chynnig seilwaith rheoli pecyn unedig sy'n gweithio. ag ystorfeydd datganoledig. Mae'r prosiect yn cael ei ddatblygu i ddechrau fel prosiect aml-lwyfan (mae macOS a Linux yn cael eu cefnogi ar hyn o bryd, mae cefnogaeth Windows yn cael ei datblygu). Mae cod y prosiect wedi'i ysgrifennu yn TypeScript a'i ddosbarthu o dan drwydded Apache 2.0 (ysgrifennwyd bragu yn Ruby a'i ddosbarthu o dan y drwydded BSD).

Yn gysyniadol nid yw te yn debyg i reolwyr pecynnau traddodiadol ac yn lle'r patrwm "Rwyf am osod pecyn", mae'n defnyddio'r patrwm "Rwyf am ddefnyddio pecyn". Yn benodol, nid oes gan Tea orchymyn i osod pecyn fel y cyfryw, ond yn hytrach mae'n defnyddio cynhyrchu amgylchedd i weithredu cynnwys y pecyn nad yw'n gorgyffwrdd â'r system gyfredol. Rhoddir pecynnau mewn cyfeiriadur ~/.tea ar wahân ac nid ydynt yn rhwym i lwybrau absoliwt (gellir eu symud).

Darperir dau brif ddull gweithredu: mynd i gragen orchymyn gyda mynediad i'r amgylchedd gyda phecynnau wedi'u gosod, a galw gorchmynion sy'n gysylltiedig â phecynnau yn uniongyrchol. Er enghraifft, wrth weithredu "te + gnu.org/wget", bydd y rheolwr pecyn yn lawrlwytho'r cyfleustodau wget a'r holl ddibyniaethau angenrheidiol, ac yna'n darparu mynediad cregyn yn yr amgylchedd y mae'r cyfleustodau wget wedi'i osod ar gael ynddo. Mae'r ail opsiwn yn cynnwys lansiad uniongyrchol - “tea + gnu.org/wget wget https://some_webpage”, lle bydd y cyfleustodau wget yn cael ei osod a'i lansio ar unwaith mewn amgylchedd ar wahân. Mae'n bosibl cyfansoddi cadwyni cymhleth, er enghraifft, i lawrlwytho'r ffeil gwyn-paper.pdf a'i brosesu gyda'r cyfleustodau glow, gallwch ddefnyddio'r adeiladwaith canlynol (os yw wget a glow ar goll, byddant yn cael eu gosod): te + gnu.org/wget wget -qO- https://tea.xyz/white-paper.pdf | te +charm.sh/glow glow - neu gallwch ddefnyddio cystrawen symlach: te -X wget -qO- tea.xyz/white-paper | te -X glow -

Mewn ffordd debyg, gallwch redeg sgriptiau, enghreifftiau cod, ac un-leinwyr yn uniongyrchol, gan lwytho'r offer sy'n angenrheidiol ar gyfer eu gweithrediad yn awtomatig. Er enghraifft, bydd rhedeg "te https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" yn gosod y pecyn cymorth Go ac yn gweithredu'r sgript lliwiau.go gyda'r ddadl "-yellow".

Er mwyn peidio â galw'r gorchymyn te bob tro, mae'n bosibl ei gysylltu fel rheolwr cyffredinol amgylcheddau rhithwir a thriniwr ar gyfer rhaglenni coll. Yn yr achos hwn, os nad yw'r rhaglen redeg ar gael, bydd yn cael ei osod, ac os cafodd ei osod yn flaenorol, bydd yn cael ei lansio yn ei amgylchedd. $deno zsh: ni chanfuwyd y gorchymyn: deno $cd my-project $deno tea: gosod deno.land^1.22 deno 1.27.0 > ^D

Yn ei ffurf bresennol, mae'r pecynnau sydd ar gael ar gyfer Te yn cael eu casglu mewn dau gasgliad - pantry.core a pantry.extra, sy'n cynnwys metadata sy'n disgrifio ffynonellau lawrlwytho pecynnau, adeiladu sgriptiau a dibyniaethau. Mae'r casgliad pantri.core yn cynnwys y prif lyfrgelloedd a chyfleustodau, wedi'u cynnal a'u cadw'n gyfredol a'u profi gan ddatblygwyr Te. Mae Pantry.extra yn cynnwys pecynnau nad ydynt wedi'u sefydlogi ddigon neu sy'n cael eu hawgrymu gan aelodau o'r gymuned. Darperir rhyngwyneb gwe i lywio drwy'r pecynnau.

Mae'r broses o greu pecynnau ar gyfer Te wedi'i symleiddio'n fawr ac mae'n dibynnu ar greu un ffeil pecyn.yml cyffredinol (enghraifft), nad oes angen addasu'r pecyn ar gyfer pob fersiwn newydd. Gall pecyn gysylltu â GitHub i ddarganfod fersiynau newydd a lawrlwytho eu cod. Mae'r ffeil hefyd yn disgrifio dibyniaethau ac yn darparu sgriptiau adeiladu ar gyfer llwyfannau a gefnogir. Mae'r dibyniaethau gosod yn ddigyfnewid (mae'r fersiwn yn sefydlog), sy'n dileu ailadrodd sefyllfaoedd tebyg i'r digwyddiad pad chwith.

Yn y dyfodol, bwriedir creu ystorfeydd datganoledig nad ydynt wedi'u cysylltu ag unrhyw storfa ar wahân a defnyddio blockchain dosbarthedig ar gyfer metadata, a seilwaith datganoledig ar gyfer storio pecynnau. Bydd datganiadau'n cael eu hardystio'n uniongyrchol gan gynhalwyr a'u hadolygu gan randdeiliaid. Mae'n bosibl dosbarthu tocynnau arian cyfred digidol ar gyfer cyfraniadau at gynnal a chadw, cefnogi, dosbarthu a gwirio pecynnau.

Mae crëwr bragu yn datblygu te rheolwr pecyn newydd


Ffynhonnell: opennet.ru

Ychwanegu sylw