Kreyatè brew ap devlope yon nouvo te manadjè pake

Max Howell, otè popilè macOS pake jesyon sistèm brew (Homebrew), ap devlope yon nouvo manadjè pake ki rele Tea, pozisyone kòm yon kontinyasyon nan devlopman brew, ale pi lwen pase manadjè pake a epi ofri yon enfrastrikti jesyon pake inifye ki travay. ak depo desantralize. Pwojè a ap devlope okòmansman kòm yon pwojè milti-platfòm (macOS ak Linux yo sipòte kounye a, sipò Windows se nan devlopman). Kòd pwojè a ekri nan TypeScript epi distribye anba lisans Apache 2.0 (brew te ekri nan Ruby epi distribye anba lisans BSD).

Tea se konseptyèlman pa tankou manadjè pakè tradisyonèl yo epi olye pou yo "Mwen vle enstale yon pake" paradigm, li itilize paradigm "Mwen vle sèvi ak yon pake". An patikilye, Tea pa gen yon lòd pou enstale yon pake kòm sa yo, men olye li sèvi ak jenerasyon anviwònman pou egzekite sa ki pakè ki pa sipèpoze ak sistèm aktyèl la. Pakè yo mete nan yon anyè separe ~/.tea epi yo pa mare nan chemen absoli (yo ka deplase).

Yo bay de mòd prensipal nan operasyon: ale nan yon kokiy lòd ak aksè nan anviwònman an ak pakè enstale, ak dirèkteman rele kòmandman ki gen rapò ak pake. Pa egzanp, lè w ap egzekite "tea +gnu.org/wget", manadjè pakè a pral telechaje sèvis piblik wget la ak tout depandans ki nesesè yo, epi answit bay aksè shell nan anviwònman kote sèvis piblik wget enstale a disponib. Dezyèm opsyon an enplike lansman dirèk - "tea +gnu.org/wget wget https://some_webpage", kote wget sèvis piblik la pral enstale epi imedyatman lanse nan yon anviwònman separe. Li posib pou konpoze chèn konplèks, pou egzanp, telechaje fichye white-paper.pdf la ak trete li ak sèvis piblik la lumineux, ou ka itilize konstriksyon sa a (si wget ak lumineux yo manke, yo pral enstale): te + gnu.org/wget wget -qO- https://tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - oswa ou ka itilize yon sentaks ki pi senp: tea -X wget -qO- tea.xyz/white-paper | te -X ekla -

Nan yon fason menm jan an, ou ka dirèkteman kouri scripts, egzanp kòd, ak yon sèl-revètman, otomatikman chaje zouti ki nesesè pou operasyon yo. Pou egzanp, kouri "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" pral enstale bwat zouti Go epi egzekite script colors.go ak agiman "-yellow".

Yo nan lòd yo pa rele lòd la te chak fwa, li posib konekte li kòm yon manadjè inivèsèl nan anviwònman vityèl ak yon moun k ap okipe pwogram ki manke yo. Nan ka sa a, si pwogram nan kouri pa disponib, li pral enstale, epi si li te enstale anvan, li pral lanse nan anviwònman li yo. $ deno zsh: kòmandman pa jwenn: deno $ cd my-project $ deno tea: installation deno.land^1.22 deno 1.27.0 > ^D

Nan fòm li ye kounye a, pakè ki disponib pou Tea yo kolekte nan de koleksyon - pantry.core ak pantry.extra, ki gen ladan metadata ki dekri sous telechaje pake, bati scripts ak depandans. Pantry.core koleksyon an gen ladan bibliyotèk prensipal yo ak sèvis piblik yo, kenbe ajou ak teste pa devlopè Tea. Pantry.extra gen pakè ki pa estabilize ase oswa ke manm kominote a sijere. Yo bay yon koòdone entènèt pou navige nan pakè yo.

Pwosesis pou kreye pakè pou Tea anpil senplifye epi li se kreye yon fichye inivèsèl package.yml (egzanp), ki pa mande pou adapte pake a pou chak nouvo vèsyon. Yon pake ka konekte ak GitHub pou dekouvri nouvo vèsyon epi telechaje kòd yo. Fichye a dekri tou depandans epi li bay scripts bati pou platfòm sipòte. Depandans yo enstale yo imuiabl (vèsyon an fiks), ki elimine repetisyon nan sitiyasyon ki sanble ak ensidan an bò gòch.

Nan lavni an, li planifye pou kreye repozitwa desantralize ki pa mare nan nenpòt depo separe epi sèvi ak yon blockchain distribiye pou metadata, ak yon enfrastrikti desantralize pou estoke pakè. Release yo pral sètifye dirèkteman pa moun k ap antreteni yo epi yo pral revize pa moun ki gen enterè yo. Li posib pou distribye marqueur cryptocurrency pou kontribisyon pou antretyen, sipò, distribisyon ak verifikasyon pakè yo.

Kreyatè brew ap devlope yon nouvo te manadjè pake


Sous: opennet.ru

Add nouvo kòmantè