Ang tiglalang sa brew nagpalambo sa usa ka bag-ong package manager nga tsa

Si Max Howell, ang tagsulat sa bantog nga macOS package management system brew (Homebrew), nagpalambo sa usa ka bag-ong manager sa package nga gitawag nga Tsa, nga gipahimutang ingon usa ka pagpadayon sa pag-uswag sa brew, nga molapas sa manager sa package ug nagtanyag usa ka hiniusa nga imprastraktura sa pagdumala sa package nga molihok. nga adunay desentralisadong mga repositoryo. Ang proyekto sa sinugdan gipalambo isip usa ka multi-platform nga proyekto (ang macOS ug Linux karon gisuportahan, ang suporta sa Windows anaa sa pag-uswag). Ang code sa proyekto gisulat sa TypeScript ug giapod-apod sa ilawom sa lisensya sa Apache 2.0 (gisulat ang brew sa Ruby ug giapod-apod ubos sa lisensya sa BSD).

Ang tsa sa konsepto dili sama sa tradisyonal nga mga tagdumala sa pakete ug imbes nga "Gusto kong mag-install sa usa ka pakete" nga paradigm, gigamit niini ang paradigm nga "Gusto kong mogamit usa ka pakete". Sa partikular, ang Tea walay sugo sa pag-instalar sa usa ka pakete nga ingon niana, apan sa baylo naggamit sa paghimo sa kalikupan aron ipatuman ang mga sulod sa pakete nga wala mag-overlap sa kasamtangan nga sistema. Ang mga pakete gibutang sa usa ka bulag nga ~/.tea nga direktoryo ug dili gigapos sa hingpit nga mga agianan (kini mahimo nga ibalhin).

Duha ka nag-unang mga paagi sa operasyon ang gihatag: pag-adto sa usa ka command shell nga adunay access sa palibot nga adunay mga naka-install nga mga pakete, ug direkta nga pagtawag sa mga mando nga may kalabotan sa package. Pananglitan, sa diha nga ipatuman ang "tea +gnu.org/wget", ang package manager mag-download sa wget utility ug sa tanang gikinahanglang dependencies, ug dayon mohatag og shell access sa palibot diin anaa ang na-install nga wget utility. Ang ikaduha nga kapilian naglakip sa direkta nga paglansad - "tea +gnu.org/wget wget https://some_webpage", diin ang wget utility i-install ug dayon ilunsad sa usa ka lahi nga palibot. Posible nga maghimo mga komplikado nga kadena, pananglitan, aron ma-download ang white-paper.pdf nga file ug iproseso kini gamit ang glow utility, mahimo nimong gamiton ang mosunud nga konstruksyon (kung nawala ang wget ug glow, i-install kini): tsa + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | tsa +charm.sh/glow glow - o mahimo nimong gamiton ang mas simple nga syntax: tea -X wget -qO- tea.xyz/white-paper | tsa -X glow -

Sa parehas nga paagi, mahimo nimong direkta nga modagan ang mga script, mga pananglitan sa code, ug usa ka linya, awtomatiko nga nagkarga sa mga himan nga gikinahanglan alang sa ilang operasyon. Pananglitan, ang pagpadagan sa "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" mag-install sa Go toolkit ug ipatuman ang color.go script nga adunay argumento nga "-yellow".

Aron dili tawagan ang mando sa tsa matag higayon, posible nga makonektar kini isip usa ka unibersal nga manedyer sa mga virtual nga palibot ug usa ka handler alang sa nawala nga mga programa. Sa kini nga kaso, kung ang nagdagan nga programa dili magamit, kini ma-install, ug kung kini na-install kaniadto, kini ilunsad sa palibot niini. $ deno zsh: command dili makita: deno $ cd my-project $ deno tea: pag-instalar deno.land^1.22 deno 1.27.0 > ^D

Sa kasamtangan nga porma niini, ang mga pakete nga magamit alang sa Tsa gikolekta sa duha ka mga koleksyon - pantry.core ug pantry.extra, nga naglakip sa metadata nga naghulagway sa mga tinubdan sa pag-download sa package, paghimo og mga script ug dependencies. Ang pantry.core nga koleksyon naglakip sa mga nag-unang librarya ug mga utilities, gipadayon hangtod karon ug gisulayan sa mga developer sa Tsa. Ang Pantry.extra adunay mga pakete nga dili igo nga gipalig-on o gisugyot sa mga miyembro sa komunidad. Ang usa ka web interface gihatag aron sa pag-navigate sa mga pakete.

Ang proseso sa pagmugna og mga pakete para sa Tsaa gipasayon ​​pag-ayo ug mikunsad sa paghimo og usa ka universal package.yml file (pananglitan), nga wala magkinahanglan og pagpahiangay sa package alang sa matag bag-ong bersyon. Ang usa ka pakete mahimong mag-link sa GitHub aron makit-an ang mga bag-ong bersyon ug ma-download ang ilang code. Gihubit usab sa file ang mga dependency ug naghatag mga script sa pagtukod alang sa gisuportahan nga mga platform. Ang mga na-install nga mga dependency dili mausab (ang bersyon gitakda), nga nagwagtang sa pagbalik-balik sa mga sitwasyon nga susama sa insidente sa left-pad.

Sa umaabot, kini giplanohan sa paghimo sa mga desentralisado nga mga repositoryo nga wala gihigot sa bisan unsang bulag nga pagtipig ug paggamit sa usa ka gipang-apod-apod nga blockchain alang sa metadata, ug usa ka desentralisadong imprastraktura alang sa pagtipig sa mga pakete. Ang mga pagpagawas direktang sertipikado sa mga tigmentinar ug susihon sa mga stakeholder. Posible ang pag-apod-apod sa mga token sa cryptocurrency alang sa mga kontribusyon sa pagpadayon, pagsuporta, pag-apod-apod ug pag-verify sa mga pakete.

Ang tiglalang sa brew nagpalambo sa usa ka bag-ong package manager nga tsa


Source: opennet.ru

Idugang sa usa ka comment