Tea noul manager de pachete Brew Creator

Ceai

ceaiul creează noi tehnologii care vor schimba modul în care codul este distribuit

Max Howell, autor a popularului sistem de gestionare a pachetelor pune la cale (Homebrew) din macOS, a dezvăluit asta lucrează la dezvoltarea unui nou manager de pachete, numit Tea, care este poziționat ca o continuare a dezvoltării brew, trecând dincolo de managerul de pachete și oferind o infrastructură unificată de gestionare a pachetelor care funcționează cu depozite descentralizate.

Ceaiul nu este conceptual ca managerii tradiționali de pachete., iar în loc de paradigma „Vreau să instalez un pachet”, folosește abordarea „Vreau să folosesc un pachet”.

În special Tea nu are o comandă de instalare a pachetului ca atare, dar în schimb folosește generarea mediului pentru a rula conținutul pachetului care nu se suprapun cu sistemul actual. Pachetele sunt plasate într-un director separat ~/.tea și nu sunt alocate căilor absolute (pot fi mutate).

Două moduri de bază sunt furnizate în Tea de operare: săriți într-un shell de comandă cu acces la un mediu cu pachete instalate și invocând direct comenzile legate de pachet. De exemplu, rulând „tea +gnu.org/wget”, managerul de pachete va descărca utilitarul wget și toate dependențele necesare, apoi va oferi acces shell într-un mediu în care utilitarul wget instalat este disponibil.

A doua opțiune implică o lansare directă: «ceai +gnu.org/wget -qO- tea.xyz/white-paper | ceai +farmec.sh/strălucire strălucire – ", care va instala utilitarul wget și îl va rula imediat într-un mediu separat, descarcând un fișier care va fi redat cu strălucire. Înlănțuirea complexă este posibilă, de exemplu, pentru a descărca fișierul white-paper.pdf și a-l procesa cu utilitarul glow, puteți utiliza următorul construct (dacă wget și glow nu sunt prezente, acestea vor fi instalate).

În mod similar, puteți rula direct scripturi, mostre de cod și one-liners, încărcând automat instrumentele necesare pentru lucrare.

Pentru niciun exemplu, rulați:

tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go

Acesta va instala setul de instrumente pentru limbajul Go și va rula scriptul colors.go cu „–yellow” ca argument.

Pentru a nu apela comanda ceai de fiecare dată, este posibil să o conectați ca manager universal de medii virtuale și un driver de programe lipsă. În acest caz, dacă programul care rulează nu este disponibil, acesta va fi instalat și, dacă este instalat anterior, va porni în mediul dumneavoastră.

În forma sa actuală, pachetele disponibile pentru Ceai sunt colectate în două colecții, camara.miez si camara.extra, care include metadate care descriu sursele de descărcare a pachetelor, scripturi de compilare și dependențe.

Colecția pantry.core include biblioteci de bază și utilități pe care dezvoltatorii Tea ținut la zi și testat. pantry.extra contine pachete care nu sunt bine stabilizate sau care sunt sugerate de comunitate. Este furnizată o interfață web pentru a naviga prin pachete.

Procesul de creare a pachetelor pentru Tea este mult simplificat și redus la crearea unui fișier universal package.yml (exemplu), care nu necesită adaptarea pachetului pentru fiecare versiune nouă. Pentru a descoperi versiuni noi și a descărca codul acestuia, pachetul poate fi conectat la GitHub.

Fișierul descrie, de asemenea, dependențe și oferă scripturi de compilare pentru platformele acceptate. Dependențe instalate sunt imuabile (versiunea este fixă), ceea ce elimină situațiile care se repetă similare incidentului cu pad-ul stâng.

În viitor, este planificată crearea de depozite descentralizate carenu sunt legate de nicio stocare separată și folosesc un blockchain distribuit pentru metadate și o infrastructură descentralizată pentru stocarea pachetelor. Versiunile vor fi certificate direct de menținători și revizuite de părțile interesate. Este posibil să distribuiți token-uri criptomonede pentru a contribui la întreținerea, suportul, distribuția și verificarea pachetelor.

În sfârșit, merită menționat faptul că în prezent proiectul este dezvoltat inițial ca cross-platform (MacOS și Linux sunt acceptate în prezent, suportul Windows este în curs de dezvoltare.) Codul proiectului este scris în TypeScript și este lansat sub licența Apache 2.0 (brew a fost scris în Ruby și livrat sub o licență BSD).

Dacă sunteți interesat să puteți afla mai multe despre acesta, puteți consulta detaliile și manualul de utilizare Tea la adresa următorul link.


Adăugați ca sursă preferată în Google