brew creator membangunkan pengurus pakej teh baharu

Max Howell, pengarang sistem pengurusan pakej macOS brew (Homebrew) yang popular, sedang membangunkan pengurus pakej baharu, Tea, diposisikan sebagai kesinambungan pembangunan brew, melangkaui pengurus pakej dan menawarkan infrastruktur pengurusan pakej bersatu yang berfungsi dengan repositori terdesentralisasi. Projek ini pada mulanya dibangunkan sebagai berbilang platform (pada masa ini macOS dan Linux disokong, sokongan Windows sedang dibangunkan). Kod projek ditulis dalam TypeScript dan diedarkan di bawah lesen Apache 2.0 (brew ditulis dalam Ruby dan dihantar di bawah lesen BSD).

Teh tidak secara konseptual seperti pengurus pakej tradisional dan bukannya paradigma "Saya mahu memasang pakej", ia menggunakan paradigma "Saya mahu menggunakan pakej". Khususnya, Tea tidak mempunyai arahan pemasangan pakej seperti itu, sebaliknya menggunakan penjanaan persekitaran untuk melaksanakan kandungan pakej yang tidak bertindih dengan sistem semasa. Pakej diletakkan dalam direktori ~/.tea yang berasingan dan tidak dipetakan ke laluan mutlak (boleh dialihkan).

Dua mod operasi asas disediakan: melompat ke shell perintah dengan akses kepada persekitaran dengan pakej yang dipasang, dan menggunakan arahan berkaitan pakej secara langsung. Contohnya, apabila melaksanakan "tea +gnu.org/wget", pengurus pakej akan memuat turun utiliti wget dan semua kebergantungan yang diperlukan, dan kemudian menyediakan akses shell dalam persekitaran di mana utiliti wget yang dipasang tersedia. Pilihan kedua membayangkan pelancaran langsung - "tea +gnu.org/wget wget https://some_webpage", yang akan memasang utiliti wget dan segera melancarkannya dalam persekitaran yang berasingan. Rantaian kompleks adalah mungkin, sebagai contoh, untuk memuat turun fail white-paper.pdf dan memprosesnya dengan utiliti cahaya, anda boleh menggunakan pembinaan berikut (jika wget dan glow tidak hadir, ia akan dipasang): teh +gnu. org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | tea +charm.sh/glow glow - atau anda boleh menggunakan sintaks yang lebih mudah: tea -X wget -qO- tea.xyz/white-paper | teh -X bercahaya

Begitu juga, anda boleh terus menjalankan skrip, contoh kod dan satu pelapis, secara automatik memuatkan alatan yang diperlukan untuk kerja mereka. Contohnya, melaksanakan "tea https://gist.githubusercontent.com/i0bj/…/raw/colors.go --yellow" akan memasang kit alat bahasa Go dan melaksanakan skrip colors.go dengan hujah --yellow.

Agar tidak memanggil arahan teh setiap kali, adalah mungkin untuk menyambungkannya sebagai pengurus sejagat persekitaran maya dan pengendali untuk program yang hilang. Dalam kes ini, jika program yang sedang berjalan tidak tersedia, ia akan dipasang, dan jika ia dipasang lebih awal, ia akan dilancarkan dalam persekitarannya. $ deno zsh: arahan tidak ditemui: deno $ cd my-project $ deno tea: memasang deno.land^1.22 deno 1.27.0 > ^D

Dalam bentuk semasa, pakej yang tersedia untuk Teh dikumpulkan dalam dua koleksi, pantry.core dan pantry.extra, yang termasuk metadata yang menerangkan sumber muat turun pakej, skrip binaan dan kebergantungan. Koleksi pantry.core termasuk perpustakaan teras dan utiliti yang sentiasa dikemas kini dan diuji oleh pembangun Teh. pantry.extra mengandungi pakej yang tidak stabil atau yang dicadangkan oleh masyarakat. Antara muka web disediakan untuk menavigasi melalui pakej.

Proses mencipta pakej untuk Teh sangat dipermudahkan dan bermula dengan mencipta satu fail package.yml universal (contoh), yang tidak memerlukan pakej disesuaikan untuk setiap versi baharu. Untuk menemui versi baharu dan memuat turun kodnya, pakej boleh memaut ke GitHub. Fail ini juga menerangkan kebergantungan dan menyediakan skrip binaan untuk platform yang disokong. Kebergantungan yang dipasang tidak boleh diubah (versi adalah tetap), yang menghapuskan pengulangan situasi yang serupa dengan insiden pad kiri.

Pada masa hadapan, ia dirancang untuk mencipta repositori terdesentralisasi yang tidak terikat dengan mana-mana storan berasingan dan menggunakan rantaian blok yang diedarkan untuk metadata, dan infrastruktur terdesentralisasi untuk menyimpan pakej. Keluaran akan diperakui terus oleh penyelenggara dan disemak oleh pihak berkepentingan. Adalah mungkin untuk mengedarkan token mata wang kripto untuk sumbangan kepada penyelenggaraan, sokongan, pengedaran dan pengesahan pakej.

brew creator membangunkan pengurus pakej teh baharu


Sumber: opennet.ru

Tambah komen