Pangripta brew ngembangake teh manajer paket anyar

Max Howell, penulis brew sistem manajemen paket macOS populer (Homebrew), ngembangake manajer paket anyar sing diarani Teh, dipanggonke minangka kelanjutan saka pangembangan brew, ngluwihi manajer paket lan nawakake infrastruktur manajemen paket terpadu sing bisa digunakake. karo repositori desentralisasi. Proyek iki wiwitane dikembangake minangka proyek multi-platform (macOS lan Linux saiki didhukung, dhukungan Windows lagi dikembangake). Kode proyek ditulis ing TypeScript lan disebarake miturut lisensi Apache 2.0 (brew ditulis ing Ruby lan disebarake ing lisensi BSD).

Teh sacara konseptual ora kaya manajer paket tradisional lan tinimbang paradigma "Aku pengin nginstal paket", nggunakake paradigma "Aku pengin nggunakake paket". Utamane, Teh ora duwe prentah kanggo nginstal paket kaya ngono, nanging nggunakake generasi lingkungan kanggo nglakokake konten paket sing ora tumpang tindih karo sistem saiki. Paket diselehake ing direktori ~/.tea sing kapisah lan ora kaiket ing jalur absolut (bisa dipindhah).

Kasedhiya rong mode operasi utama: pindhah menyang cangkang printah kanthi akses menyang lingkungan kanthi paket sing diinstal, lan langsung nelpon perintah sing gegandhengan karo paket. Contone, nalika nglakokake "tea +gnu.org/wget", manajer paket bakal ngundhuh utilitas wget lan kabeh dependensi sing dibutuhake, banjur menehi akses cangkang ing lingkungan sing kasedhiya utilitas wget sing diinstal. Opsi kapindho kalebu peluncuran langsung - "tea +gnu.org/wget wget https://some_webpage", ing ngendi utilitas wget bakal diinstal lan langsung diluncurake ing lingkungan sing kapisah. Sampeyan bisa nyipta rantai kompleks, umpamane, download file white-paper.pdf lan diproses nganggo sarana cemlorot, sampeyan bisa nggunakake konstruksi ing ngisor iki (yen wget lan glow ilang, bakal diinstal): teh + gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | teh +charm.sh/glow glow - utawa sampeyan bisa nggunakake sintaks prasaja: teh -X wget -qO- tea.xyz/white-paper | teh -X glow -

Kanthi cara sing padha, sampeyan bisa langsung mbukak skrip, conto kode, lan siji-liner, kanthi otomatis ngemot alat sing dibutuhake kanggo operasi kasebut. Contone, mlaku "teh https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" bakal nginstal toolkit Go lan nglakokake skrip color.go kanthi argumen "-yellow".

Supaya ora nelpon printah teh saben wektu, iku bisa kanggo nyambung minangka manager universal lingkungan virtual lan handler kanggo program ilang. Ing kasus iki, yen program sing mlaku ora kasedhiya, bakal diinstal, lan yen wis diinstal sadurunge, bakal diluncurake ing lingkungane. $ deno zsh: printah ora ditemokake: deno $ cd my-project $ deno teh: nginstal deno.land^1.22 deno 1.27.0 > ^D

Ing wangun saiki, paket sing kasedhiya kanggo Teh diklumpukake ing rong koleksi - pantry.core lan pantry.extra, sing kalebu metadata sing njlentrehake sumber download paket, mbangun skrip lan dependensi. Koleksi pantry.core kalebu perpustakaan lan utilitas utama, sing dianyari lan diuji dening pangembang Teh. Pantry.extra ngemot paket sing ora cukup stabil utawa sing disaranake dening anggota komunitas. Antarmuka web kasedhiya kanggo navigasi liwat paket.

Proses nggawe paket kanggo Teh wis disederhanakake lan nggawe siji file package.yml universal (umpamane), sing ora mbutuhake adaptasi paket kanggo saben versi anyar. Paket bisa nyambung menyang GitHub kanggo nemokake versi anyar lan ndownload kode kasebut. File kasebut uga nggambarake dependensi lan nyedhiyakake skrip mbangun kanggo platform sing didhukung. Dependensi sing diinstal ora bisa diganti (versi tetep), sing ngilangi pengulangan kahanan sing padha karo kedadeyan kiwa.

Ing mangsa ngarep, direncanakake nggawe repositori desentralisasi sing ora disambungake menyang panyimpenan sing kapisah lan nggunakake pamblokiran sing disebarake kanggo metadata, lan infrastruktur desentralisasi kanggo nyimpen paket. Rilis bakal disertifikasi langsung dening pangurus lan dideleng dening para pemangku kepentingan. Sampeyan bisa nyebarake token cryptocurrency kanggo kontribusi kanggo pangopènan, dhukungan, distribusi lan verifikasi paket.

Pangripta brew ngembangake teh manajer paket anyar


Source: opennet.ru

Add a comment