Thé le nouveau gestionnaire de packages de créateur d'infusion

Thé

le thé crée de nouvelles technologies qui changeront la façon dont le code est distribué

Max Howell, auteur du populaire système de gestion de paquets brasser (Homebrew) de macOS, a révélé que travaille sur le développement d'un nouveau gestionnaire de paquets, appelé Tea, qui se positionne comme une continuation du développement de brew, allant au-delà du gestionnaire de packages et offrant une infrastructure de gestion de packages unifiée qui fonctionne avec des référentiels décentralisés.

Le thé n'est pas conceptuellement comme les gestionnaires de paquets traditionnels., et au lieu du paradigme "Je veux installer un package", il utilise l'approche "Je veux utiliser un package".

En particulier, Tea n'a pas de commande d'installation de paquet en tant que tel, mais utilise à la place la génération d'environnement pour exécuter le contenu du package qui ne chevauche pas le système actuel. Les packages sont placés dans un répertoire ~/.tea séparé et ne sont pas affectés à des chemins absolus (ils peuvent être déplacés).

Deux modes de base sont fournis dans Tea d'opération : sautez dans un shell de commande avec accès à un environnement avec des packages installés et appelez directement les commandes liées aux packages. Par exemple, en exécutant "tea +gnu.org/wget", le gestionnaire de paquets téléchargera l'utilitaire wget et toutes les dépendances nécessaires, puis fournira un accès shell dans un environnement où l'utilitaire wget installé est disponible.

La seconde option implique un lancement direct : «thé +gnu.org/wget -qO-tea.xyz/white-paper | thé + charme.sh/glow glow – ", qui installera l'utilitaire wget et l'exécutera immédiatement dans un environnement séparé, en téléchargeant un fichier qui sera rendu avec éclat. Un chaînage complexe est possible, par exemple, pour télécharger le fichier white-paper.pdf et le traiter avec l'utilitaire glow, vous pouvez utiliser la construction suivante (si wget et glow ne sont pas présents, ils seront installés).

De même, vous pouvez exécuter directement des scripts, des exemples de code et des one-liners, chargeant automatiquement les outils nécessaires pour le travail.

Pour aucun exemple, exécutez:

tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go

Il installera la boîte à outils du langage Go et exécutera le script colors.go avec le "-yellow" comme argument.

Afin de ne pas appeler la commande tea à chaque fois, il est possible de la connecter en tant que gestionnaire universel d'environnements virtuels et un pilote de programmes manquants. Dans ce cas, si le programme en cours d'exécution n'est pas disponible, il sera installé et, s'il a déjà été installé, il démarrera dans votre environnement.

Dans sa forme actuelle, les forfaits disponibles pour le thé sont regroupés en deux collections, pantry.core et pantry.extra, qui inclut des métadonnées décrivant les sources de téléchargement de packages, les scripts de génération et les dépendances.

Les t-shirts de la collection pantry.core inclut des bibliothèques de base et des utilitaires que les développeurs de Tea mis à jour et testé. pantry.extra contient des paquets qui ne sont pas bien stabilisés ou qui sont suggérés par la communauté. Une interface Web est fournie pour naviguer dans les packages.

Le processus de création de packages pour Tea est grandement simplifié et réduit à la création d'un fichier package.yml universel (exemple), qui ne nécessite pas d'adapter le package à chaque nouvelle version. Pour découvrir de nouvelles versions et télécharger son code, le package peut être lié à GitHub.

Le fichier décrit également les dépendances et fournit des scripts de génération pour les plates-formes prises en charge. Les dépendances installées sont immuables (la version est fixe), ce qui élimine les situations répétitives similaires à l'incident du pad gauche.

A l'avenir, il est prévu de créer des référentiels décentralisés quiue ne sont liés à aucun stockage séparé et utilisent une blockchain distribuée pour les métadonnées et une infrastructure décentralisée pour stocker les packages. Les versions seront directement certifiées par les mainteneurs et revues par les parties intéressées. Il est possible de distribuer des jetons de crypto-monnaie pour contribuer à la maintenance, au support, à la distribution et à la vérification des packages.

Enfin, il convient de mentionner qu'actuellement le projet est initialement développé en multiplateforme (macOS et Linux sont actuellement pris en charge, la prise en charge de Windows est en cours de développement.) Le code du projet est écrit en TypeScript et est publié sous la licence Apache 2.0 (brew a été écrit en Ruby et livré sous une licence BSD).

Si vous souhaitez en savoir plus, vous pouvez consulter les détails et le manuel d'utilisation de Tea à l'adresse lien suivant


Ajouter comme source préférée dans Google