Brew Creator dezvoltă un nou manager de pachete de ceai

Max Howell, autorul popularului sistem de gestionare a pachetelor macOS brew (Homebrew), dezvoltă un nou manager de pachete numit Tea, poziționat ca o continuare a dezvoltării brew, depășind managerul de pachete și oferind o infrastructură unificată de gestionare a pachetelor care funcționează. cu depozite descentralizate. Proiectul este inițial dezvoltat ca un proiect multiplatformă (în prezent sunt acceptate macOS și Linux, suportul Windows este în curs de dezvoltare). Codul proiectului este scris în TypeScript și distribuit sub licența Apache 2.0 (brew a fost scris în Ruby și distribuit sub licența BSD).

Tea nu este conceptual ca managerii de pachete tradiționali și în loc de paradigma „Vreau să instalez un pachet”, folosește paradigma „Vreau să folosesc un pachet”. În special, Tea nu are o comandă pentru a instala un pachet ca atare, ci folosește generarea mediului pentru a executa conținutul pachetului care nu se suprapun cu sistemul actual. Pachetele sunt plasate într-un director separat ~/.tea și nu sunt legate de căi absolute (pot fi mutate).

Sunt furnizate două moduri principale de operare: accesarea unui shell de comandă cu acces la mediul cu pachete instalate și apelarea directă a comenzilor legate de pachet. De exemplu, când executați „tea +gnu.org/wget”, managerul de pachete va descărca utilitarul wget și toate dependențele necesare, apoi va oferi acces shell în mediul în care este disponibil utilitarul wget instalat. A doua opțiune implică lansarea directă - „tea +gnu.org/wget wget https://some_webpage”, în care utilitarul wget va fi instalat și lansat imediat într-un mediu separat. Este posibil să compuneți lanțuri complexe, de exemplu, pentru a descărca fișierul white-paper.pdf și a-l procesa cu utilitarul glow, puteți utiliza următoarea construcție (dacă wget și glow lipsesc, acestea vor fi instalate): ceai + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - sau poți folosi o sintaxă mai simplă: tea -X wget -qO- tea.xyz/white-paper | ceai -X strălucire -

Într-un mod similar, puteți rula direct scripturi, exemple de cod și one-line-uri, încărcând automat instrumentele necesare pentru funcționarea lor. De exemplu, rularea „tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow” va instala setul de instrumente Go și va executa scriptul colors.go cu argumentul „-yellow”.

Pentru a nu apela comanda ceai de fiecare dată, este posibil să o conectați ca manager universal al mediilor virtuale și un handler pentru programele lipsă. În acest caz, dacă programul care rulează nu este disponibil, acesta va fi instalat, iar dacă a fost instalat anterior, va fi lansat în mediul său. $ deno zsh: comanda nu a fost găsită: deno $ cd proiectul meu $ deno tea: se instalează deno.land^1.22 deno 1.27.0 > ^D

În forma sa actuală, pachetele disponibile pentru Tea sunt colectate în două colecții - pantry.core și pantry.extra, care includ metadate care descriu sursele de descărcare a pachetelor, scripturi de construcție și dependențe. Colecția pantry.core include principalele biblioteci și utilități, menținute la zi și testate de dezvoltatorii Tea. Pantry.extra conține pachete care nu sunt suficient de stabilizate sau care sunt sugerate de membrii comunității. Este furnizată o interfață web pentru a naviga prin pachete.

Procesul de creare a pachetelor pentru Tea este mult simplificat și se reduce la crearea unui fișier universal package.yml (exemplu), care nu necesită adaptarea pachetului pentru fiecare versiune nouă. Un pachet se poate conecta la GitHub pentru a descoperi versiuni noi și a descărca codul acestora. Fișierul descrie, de asemenea, dependențe și oferă scripturi de compilare pentru platformele acceptate. Dependențele instalate sunt imuabile (versiunea este fixă), ceea ce elimină repetarea situațiilor similare incidentului din stânga-pad.

În viitor, se plănuiește crearea de depozite descentralizate care să nu fie legate de nicio stocare separată și să utilizeze un blockchain distribuit pentru metadate și o infrastructură descentralizată pentru stocarea pachetelor. Lansările vor fi certificate direct de întreținători și revizuite de părțile interesate. Este posibil să distribuiți token-uri criptomonede pentru contribuții la întreținerea, suportul, distribuția și verificarea pachetelor.

Brew Creator dezvoltă un nou manager de pachete de ceai


Sursa: opennet.ru

Adauga un comentariu