il-kreatur tal-birra jiżviluppa maniġer ġdid tal-pakketti tat-te

Max Howell, l-awtur tas-sistema popolari tal-immaniġġjar tal-pakkett macOS brew (Homebrew), qed jiżviluppa maniġer tal-pakkett ġdid imsejjaħ Te, pożizzjonat bħala kontinwazzjoni tal-iżvilupp tal-brew, li jmur lil hinn mill-maniġer tal-pakketti u joffri infrastruttura unifikata tal-ġestjoni tal-pakketti li taħdem. b'repożitorji deċentralizzati. Il-proġett inizjalment qed jiġi żviluppat bħala proġett b'ħafna pjattaformi (macOS u Linux bħalissa huma appoġġjati, l-appoġġ tal-Windows jinsab fl-iżvilupp). Il-kodiċi tal-proġett huwa miktub f'TypeScript u mqassam taħt il-liċenzja Apache 2.0 (brew inkiteb f'Ruby u mqassam taħt il-liċenzja BSD).

It-te kunċettwalment mhuwiex bħall-maniġers tal-pakketti tradizzjonali u minflok il-paradigma "Irrid ninstalla pakkett", juża l-paradigma "Irrid nuża pakkett". B'mod partikolari, Tea m'għandux kmand biex jinstalla pakkett bħala tali, iżda minflok juża l-ġenerazzjoni tal-ambjent biex jesegwixxi l-kontenut tal-pakkett li ma jikkoinċidix mas-sistema attwali. Il-pakketti jitqiegħdu f'direttorju ~/.tea separat u mhumiex marbuta ma' mogħdijiet assoluti (jistgħu jiġu mċaqalqa).

Żewġ modi ewlenin ta 'operazzjoni huma pprovduti: tmur għal qoxra ta' kmand b'aċċess għall-ambjent b'pakketti installati, u ssejjaħ direttament kmandi relatati mal-pakkett. Pereżempju, meta tesegwixxi "tea +gnu.org/wget", il-maniġer tal-pakkett se jniżżel l-utilità wget u d-dipendenzi kollha meħtieġa, u mbagħad jipprovdi aċċess għall-qoxra fl-ambjent li fih tkun disponibbli l-utilità wget installata. It-tieni għażla tinvolvi tnedija diretta - "tea +gnu.org/wget wget https://some_webpage", li fiha l-utilità wget se tiġi installata u immedjatament imnedija f'ambjent separat. Huwa possibbli li tikkomponi ktajjen kumplessi, pereżempju, biex tniżżel il-fajl white-paper.pdf u tipproċessah bl-utilità glow, tista 'tuża l-kostruzzjoni li ġejja (jekk wget u glow huma neqsin, se jiġu installati): tè + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - jew tista' tuża sintassi aktar sempliċi: tea -X wget -qO- tea.xyz/white-paper | te -X glow -

B'mod simili, tista 'tmexxi direttament skripts, eżempji ta' kodiċi, u one-liners, awtomatikament tagħbija l-għodod meħtieġa għat-tħaddim tagħhom. Pereżempju, it-tħaddim "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" se jinstalla l-għodda Go u tesegwixxi l-iskrittura colors.go bl-argument "-yellow".

Sabiex ma ssejjaħx il-kmand tat-te kull darba, huwa possibbli li tikkonnettjah bħala maniġer universali ta 'ambjenti virtwali u handler għal programmi neqsin. F'dan il-każ, jekk il-programm li qed jaħdem ma jkunx disponibbli, ikun installat, u jekk kien installat qabel, ikun imniedi fl-ambjent tiegħu. $ deno zsh: kmand ma nstabx: deno $ cd my-project $ deno tea: installing deno.land^1.22 deno 1.27.0 > ^D

Fil-forma attwali tiegħu, il-pakketti disponibbli għat-Te huma miġbura f'żewġ kollezzjonijiet - pantry.core u pantry.extra, li jinkludu metadejta li tiddeskrivi sorsi ta' tniżżil ta' pakketti, skripts tal-bini u dipendenzi. Il-kollezzjoni pantry.core tinkludi l-libreriji u l-utilitajiet ewlenin, miżmuma aġġornati u ttestjati mill-iżviluppaturi tat-Te. Pantry.extra fih pakketti li mhumiex stabilizzati biżżejjed jew li huma ssuġġeriti minn membri tal-komunità. Interfaċċja tal-web hija pprovduta biex tinnaviga permezz tal-pakketti.

Il-proċess tal-ħolqien ta' pakketti għat-Te huwa ssimplifikat ħafna u jasal għall-ħolqien ta' fajl universali package.yml wieħed (eżempju), li ma jeħtieġx li jiġi adattat il-pakkett għal kull verżjoni ġdida. Pakkett jista’ jgħaqqad ma’ GitHub biex jiskopri verżjonijiet ġodda u tniżżel il-kodiċi tagħhom. Il-fajl jiddeskrivi wkoll id-dipendenzi u jipprovdi skripts tal-bini għal pjattaformi appoġġjati. Id-dipendenzi installati huma immutabbli (il-verżjoni hija fissa), li telimina r-ripetizzjoni ta 'sitwazzjonijiet simili għall-inċident tax-xellug.

Fil-futur, huwa ppjanat li jinħolqu repożitorji deċentralizzati li mhumiex marbuta ma 'xi ħażna separata u jużaw blockchain distribwit għall-metadata, u infrastruttura deċentralizzata għall-ħażna ta' pakketti. Ir-rilaxxi se jiġu ċċertifikati direttament mill-manutenzjoni u riveduti mill-partijiet interessati. Huwa possibbli li jitqassmu tokens tal-kripto-munita għal kontribuzzjonijiet għall-manutenzjoni, l-appoġġ, id-distribuzzjoni u l-verifika tal-pakketti.

il-kreatur tal-birra jiżviluppa maniġer ġdid tal-pakketti tat-te


Sors: opennet.ru

Żid kumment