pencipta brew ngamekarkeun manajer pakét tea anyar

Max Howell, panulis sistem manajemén pakét macOS populér brew (Homebrew), nuju ngembangkeun manajer pakét énggal anu disebut Teh, diposisikan salaku tuluyan tina pamekaran brew, ngalangkungan manajer pakét sareng nawiskeun infrastruktur manajemén pakét anu tiasa dianggo. kalawan repositories desentralisasi. Proyék ieu mimitina dikembangkeun salaku proyék multi-platform (macOS sareng Linux ayeuna dirojong, dukungan Windows nuju dikembangkeun). Kodeu proyék ditulis dina TypeScript sareng disebarkeun dina lisénsi Apache 2.0 (brew ditulis dina Ruby sareng disebarkeun dina lisénsi BSD).

Téh sacara konseptual henteu sapertos manajer pakét tradisional sareng tibatan paradigma "Kuring hoyong masang pakét", éta ngagunakeun paradigma "Kuring hoyong nganggo pakét". Khususna, Teh henteu gaduh paréntah pikeun masang pakét sapertos kitu, tapi nganggo generasi lingkungan pikeun ngalaksanakeun eusi pakét anu henteu tumpang tindih sareng sistem ayeuna. Bungkusan disimpen dina diréktori ~ / .tea anu misah sareng henteu kabeungkeut kana jalur mutlak (bisa dipindahkeun).

Dua modeu operasi utama anu disayogikeun: angkat ka cangkang paréntah kalayan aksés ka lingkungan kalayan pakét anu dipasang, sareng langsung nelepon paréntah anu aya hubunganana sareng pakét. Salaku conto, nalika ngalaksanakeun "tea +gnu.org/wget", manajer pakét bakal ngaunduh utilitas wget sareng sadaya katergantungan anu diperyogikeun, teras nyayogikeun aksés cangkang di lingkungan dimana utilitas wget anu dipasang sayogi. Pilihan kadua ngalibatkeun peluncuran langsung - "tea +gnu.org/wget wget https://some_webpage", dimana utilitas wget bakal dipasang sareng langsung diluncurkeun dina lingkungan anu misah. Kasebut nyaéta dimungkinkeun pikeun nyusun ranté kompléks, contona, pikeun ngundeur file white-paper.pdf sareng ngolahna nganggo utilitas glow, anjeun tiasa nganggo konstruksi di handap ieu (upami wget sareng glow leungit, aranjeunna bakal dipasang): tea + gnu.org/wget wget -qO- HTTPS:/ /tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - atawa anjeun bisa make sintaksis basajan: tea -X wget -qO- tea.xyz/white-paper | tea -X glow -

Dina cara anu sami, anjeun tiasa langsung ngajalankeun skrip, conto kode, sareng one-liners, otomatis ngamuat alat anu dipikabutuh pikeun operasina. Salaku conto, ngajalankeun "teh https://gist.githubusercontent.com/i0bj/…/raw/colors.go -yellow" bakal masang toolkit Go sareng ngaéksekusi skrip color.go kalayan argumen "-yellow".

Dina raraga teu nelepon paréntah tea unggal waktu, kasebut nyaéta dimungkinkeun pikeun nyambungkeun eta salaku manajer universal lingkungan maya jeung panangan pikeun program leungit. Dina hal ieu, upami program anu ngajalankeun henteu sayogi, éta bakal dipasang, sareng upami dipasang sateuacana, éta bakal diluncurkeun di lingkunganana. $ deno zsh: paréntah teu kapanggih: deno $ cd my-project $ deno tea: masang deno.land^1.22 deno 1.27.0 > ^D

Dina bentuk ayeuna, bungkusan anu sayogi pikeun Teh dikumpulkeun dina dua koléksi - pantry.core sareng pantry.extra, anu kalebet metadata anu ngajelaskeun sumber unduhan pakét, ngawangun skrip sareng dependensi. Koléksi pantry.core kalebet perpustakaan sareng utilitas utama, diropéa sareng diuji ku pamekar Teh. Pantry.extra ngandung bungkusan anu henteu cukup stabil atanapi anu disarankeun ku anggota masarakat. Antarbeungeut wéb disayogikeun pikeun nganapigasi pakét.

Prosés nyieun pakét pikeun Teh ieu greatly disederhanakeun tur asalna handap pikeun nyieun hiji universal package.yml file (conto), nu teu merlukeun adapting pakét pikeun tiap versi anyar. Paket tiasa numbu ka GitHub pikeun mendakan versi énggal sareng ngaunduh kodena. Berkas ogé ngajelaskeun kagumantungan sareng nyayogikeun skrip ngawangun pikeun platform anu dirojong. Dependensi anu dipasang teu tiasa dirobih (versina tetep), anu ngaleungitkeun pengulangan kaayaan anu sami sareng kajadian kénca-pad.

Dina mangsa nu bakal datang, éta rencanana nyieun repositories desentralisasi nu teu kabeungkeut sagala gudang misah tur ngagunakeun blockchain disebarkeun pikeun metadata, sarta infrastruktur desentralisasi pikeun nyimpen bungkusan. Kaluaran bakal disertipikasi langsung ku pangropéa sareng diulas ku pamangku kapentingan. Kasebut nyaéta dimungkinkeun pikeun ngadistribusikaeun tokens cryptocurrency pikeun kontribusi pikeun pangropéa, rojongan, distribusi jeung verifikasi bungkusan.

pencipta brew ngamekarkeun manajer pakét tea anyar


sumber: opennet.ru

Tambahkeun komentar