Brew Creator sviluppa un novu gestore di pacchetti di tè

Max Howell, l'autore di u famosu sistema di gestione di pacchetti macOS brew (Homebrew), sviluppa un novu gestore di pacchetti chjamatu Tea, posizionatu cum'è una continuazione di u sviluppu di brew, andendu oltre u gestore di pacchetti è offre una infrastruttura di gestione di pacchetti unificata chì funziona. cù repositori decentralizati. U prugettu hè inizialmente sviluppatu cum'è un prughjettu multipiattaforma (macOS è Linux sò attualmente supportati, u supportu Windows hè in sviluppu). U codice di u prughjettu hè scrittu in TypeScript è distribuitu sottu a licenza Apache 2.0 (brew hè statu scrittu in Ruby è distribuitu sottu a licenza BSD).

U tè ùn hè micca cuncettuale cum'è i gestori di pacchetti tradiziunali è invece di u paradigma "Vogliu installà un pacchettu", usa u paradigma "Vogliu usà un pacchettu". In particulare, Tea ùn hà micca un cumandamentu per installà un pacchettu cum'è tali, ma invece usa a generazione di l'ambiente per eseguisce u cuntenutu di u pacchettu chì ùn si superpone micca cù u sistema attuale. I pacchetti sò posti in un repertoriu ~/.tea separatu è ùn sò micca ligati à percorsi assoluti (pò esse spustati).

Dui modi principali di funziunamentu sò furnuti: andendu in una cunchiglia di cumanda cù accessu à l'ambiente cù pacchetti installati, è chjamà direttamente cumandamenti di pacchetti. Per esempiu, quandu eseguisce "tea +gnu.org/wget", u gestore di pacchetti scaricarà l'utilità wget è tutte e dipendenze necessarie, è poi furnisce l'accessu di shell in l'ambiente induve l'utilità wget installata hè dispunibule. A seconda opzione implica u lanciu direttu - "tea +gnu.org/wget wget https://some_webpage", in quale l'utilità wget serà installata è immediatamente lanciata in un ambiente separatu. Hè pussibule di cumpone catene cumplessi, per esempiu, per scaricà u schedariu white-paper.pdf è u processà cù l'utilità glow, pudete aduprà a seguente custruzzione (se wget è glow mancanu, seranu stallati): tè + gnu.org/wget wget -qO- https://tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - o pudete aduprà una sintassi più simplice: tea -X wget -qO- tea.xyz/white-paper | tè -X glow -

In una manera simile, pudete direttamente eseguisce scripts, esempi di codice è one-liners, caricate automaticamente l'arnesi necessarii per u so funziunamentu. Per esempiu, eseguisce "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" installà u toolkit Go è eseguisce u script colors.go cù l'argumentu "-yellow".

Per ùn chjamà u cumandamentu di tè ogni volta, hè pussibule cunnetta cum'è un gestore universale di ambienti virtuali è un gestore per i prugrammi mancanti. In questu casu, se u prugramma in esecuzione ùn hè micca dispunibule, serà installatu, è s'ellu hè statu installatu prima, serà lanciatu in u so ambiente. $ deno zsh: cumandamenti micca trovu: deno $ cd my-project $ deno tea: installà deno.land^1.22 deno 1.27.0 > ^D

In a so forma attuale, i pacchetti dispunibuli per Tea sò cullati in duie cullezzione - pantry.core è pantry.extra, chì includenu metadati chì descrizanu fonti di scaricamentu di pacchetti, script di creazione è dipendenze. A cullizzioni pantry.core include i principali biblioteche è utilità, mantinuti à ghjornu è pruvati da i sviluppatori di Tea. Pantry.extra cuntene pacchetti chì ùn sò micca abbastanza stabilizzati o chì sò suggeriti da i membri di a cumunità. Una interfaccia web hè furnita per navigà attraversu i pacchetti.

U prucessu di creazione di pacchetti per Tea hè assai simplificatu è vene à creà un schedariu universale package.yml (esempiu), chì ùn hà micca bisognu di adattà u pacchettu per ogni nova versione. Un pacchettu pò ligà à GitHub per scopre novi versioni è scaricà u so codice. U schedariu descrive ancu dipendenze è furnisce script di creazione per e plataforme supportate. I dependenzii installati sò immutabili (a versione hè fissa), chì elimina a ripetizione di situazioni simili à l'incidentu di u pad di manca.

In u futuru, hè previstu di creà repositori descentralizati chì ùn sò micca ligati à alcunu almacenamentu separatu è utilizate un blockchain distribuitu per metadata, è una infrastruttura descentralizata per almacenà pacchetti. E versioni seranu certificate direttamente da i mantenetori è rivisione da i stakeholder. Hè pussibule distribuisce tokens di criptocurrency per cuntributi à u mantenimentu, supportu, distribuzione è verificazione di pacchetti.

Brew Creator sviluppa un novu gestore di pacchetti di tè


Source: opennet.ru

Add a comment