çaji po krijon teknologji të reja që do të ndryshojnë mënyrën e shpërndarjes së kodit
Max Howell, autor të sistemit popullor të menaxhimit të paketave krijoj (Homebrew) i macOS, e zbuloi atë është duke punuar në zhvillimin e një menaxheri të ri paketash, të quajtur Tea, i cili pozicionohet si një vazhdimësi e zhvillimit të birrës, duke shkuar përtej menaxherit të paketave dhe duke ofruar një infrastrukturë të unifikuar të menaxhimit të paketave që funksionon me depo të decentralizuara.
Çaji nuk është konceptualisht si menaxherët tradicionalë të paketave., dhe në vend të paradigmës "Dua të instaloj një paketë", ajo përdor qasjen "Dua të përdor një paketë".
Në veçanti Tea nuk ka një komandë për instalimin e paketës si i tillë, por në vend të kësaj përdor gjenerimin e mjedisit për të ekzekutuar përmbajtjet e paketës që nuk mbivendosen me sistemin aktual. Paketat vendosen në një direktori të veçantë ~/.tea dhe nuk u caktohen shtigjeve absolute (ato mund të zhvendosen).
Dy mënyra themelore ofrohen në Tea e funksionimit: Hidheni në një guaskë komanda me akses në një mjedis me paketa të instaluara dhe thirrni drejtpërdrejt komandat që lidhen me paketën. Për shembull, duke ekzekutuar "tea +gnu.org/wget", menaxheri i paketës do të shkarkojë programin wget dhe të gjitha varësitë e nevojshme dhe më pas do të sigurojë akses në guaskë në një mjedis ku është i disponueshëm mjeti i instaluar wget.
Opsioni i dytë përfshin një nisje të drejtpërdrejtë: «çaj +gnu.org/wget -qO- çaj.xyz/white-paper | çaj +charm.sh/shkëlqim shkëlqim – ", i cili do të instalojë programin wget dhe do ta ekzekutojë menjëherë në një mjedis të veçantë, duke shkarkuar një skedar i cili do të jepet me shkëlqim. Lidhja me zinxhir kompleks është e mundur, për shembull, për të shkarkuar skedarin white-paper.pdf dhe për ta përpunuar atë me mjetin e ndriçimit, mund të përdorni konstruktin e mëposhtëm (nëse wget dhe glow nuk janë të pranishëm, ato do të instalohen).
Në mënyrë të ngjashme, ju mund të ekzekutoni drejtpërdrejt skriptet, mostrat e kodit dhe një rreshtim, duke ngarkuar automatikisht mjetet e nevojshme për punën.
Për asnjë shembull, ekzekutoni:
tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go
…
Ai do të instalojë paketën e veglave të gjuhës Go dhe do të ekzekutojë skriptin color.go me argumentin “–verdhë”.
Për të mos thirrur komandën e çajit çdo herë, është e mundur ta lidhni atë si një menaxher universal i mjediseve virtuale dhe një drejtues i programeve që mungojnë. Në këtë rast, nëse programi i ekzekutimit nuk është i disponueshëm, ai do të instalohet dhe, nëse është instaluar më parë, do të fillojë në mjedisin tuaj.
Në formën e tij aktuale, paketimet e disponueshme për çaj janë mbledhur në dy koleksione, qilar.bërthamë dhe qilar.shtesë, i cili përfshin meta të dhëna që përshkruajnë burimet e shkarkimit të paketave, skriptet e ndërtimit dhe varësitë.
Koleksioni pantry.core përfshin bibliotekat kryesore dhe shërbimet që zhvilluesit e Tea mbahet i përditësuar dhe i testuar. qilar.ekstra përmban pako që nuk janë stabilizuar mirë ose që sugjerohen nga komuniteti. Ofrohet një ndërfaqe në internet për të lundruar nëpër paketa.
Procesi i krijimit të paketave për Tea është thjeshtuar shumë dhe reduktohet në krijimin e një skedari universal package.yml (shembull), i cili nuk kërkon që paketa të përshtatet për çdo version të ri. Për të zbuluar versione të reja dhe për të shkarkuar kodin e saj, paketa mund të lidhet me GitHub.
Skedari përshkruan gjithashtu varësitë dhe ofron skriptet e ndërtimit për platformat e mbështetura. Varësitë e instaluara janë të pandryshueshme (versioni është i fiksuar), gjë që eliminon përsëritjen e situatave të ngjashme me incidentin e bllokut të majtë.
Në të ardhmen, është planifikuar të krijohen depo të decentralizuara qëue nuk janë të lidhura me ndonjë ruajtje të veçantë dhe përdorin një blockchain të shpërndarë për metadata dhe një infrastrukturë të decentralizuar për të ruajtur paketat. Versionet do të certifikohen drejtpërdrejt nga mirëmbajtësit dhe do të rishikohen nga palët e interesuara. Është e mundur të shpërndahen argumentet e kriptomonedhave për të kontribuar në mirëmbajtjen, mbështetjen, shpërndarjen dhe verifikimin e paketave.
Së fundi, vlen të përmendet se aktualisht projekti është zhvilluar fillimisht si ndër-platformë (MacOS dhe Linux mbështeten aktualisht, mbështetja e Windows është në zhvillim e sipër.) Kodi i projektit është shkruar në TypeScript dhe lëshohet nën licencën Apache 2.0 (krijimi është shkruar në Ruby dhe është dërguar me licencë BSD).
Nëse jeni të interesuar të jeni në gjendje të mësoni më shumë rreth tij, mund të konsultoni detajet dhe manualin e përdorimit të Tea në lidhja vijuese.