Người tạo ra bia đang phát triển một loại trà quản lý gói mới

Max Howell, tác giả của hệ thống quản lý gói macOS phổ biến (Homebrew), đang phát triển một trình quản lý gói mới có tên Tea, được định vị là sự tiếp nối sự phát triển của brew, vượt ra ngoài trình quản lý gói và cung cấp cơ sở hạ tầng quản lý gói thống nhất hoạt động với các kho lưu trữ phi tập trung. Dự án ban đầu được phát triển như một dự án đa nền tảng (macOS và Linux hiện đang được hỗ trợ, hỗ trợ Windows đang được phát triển). Mã dự án được viết bằng TypeScript và được phân phối theo giấy phép Apache 2.0 (brew được viết bằng Ruby và được phân phối theo giấy phép BSD).

Về mặt khái niệm, Tea không giống như các trình quản lý gói truyền thống và thay vì mô hình "Tôi muốn cài đặt một gói", nó sử dụng mô hình "Tôi muốn sử dụng một gói". Đặc biệt, Tea không có lệnh cài đặt gói như vậy mà thay vào đó sử dụng việc tạo môi trường để thực thi các nội dung gói không trùng lặp với hệ thống hiện tại. Các gói được đặt trong một thư mục ~/.tea riêng biệt và không bị ràng buộc với đường dẫn tuyệt đối (chúng có thể được di chuyển).

Hai chế độ hoạt động chính được cung cấp: đi tới trình bao lệnh có quyền truy cập vào môi trường với các gói đã cài đặt và gọi trực tiếp các lệnh liên quan đến gói. Ví dụ: khi thực thi "tea +gnu.org/wget", trình quản lý gói sẽ tải xuống tiện ích wget và tất cả các phần phụ thuộc cần thiết, sau đó cung cấp quyền truy cập shell trong môi trường có sẵn tiện ích wget đã cài đặt. Tùy chọn thứ hai liên quan đến việc khởi chạy trực tiếp - “tea +gnu.org/wget wget https://some_webpage”, trong đó tiện ích wget sẽ được cài đặt và khởi chạy ngay lập tức trong một môi trường riêng biệt. Có thể soạn các chuỗi phức tạp, chẳng hạn để tải xuống tệp white-paper.pdf và xử lý nó bằng tiện ích Glow, bạn có thể sử dụng cấu trúc sau (nếu thiếu wget và Glow, chúng sẽ được cài đặt): trà + gnu.org/wget wget -qO- https:// /tea.xyz/white-paper.pdf | trà +charm.sh/glow Glow - hoặc bạn có thể sử dụng cú pháp đơn giản hơn: trà -X wget -qO- tea.xyz/white-paper | trà -X phát sáng —

Theo cách tương tự, bạn có thể chạy trực tiếp các tập lệnh, ví dụ mã và dòng lệnh, tự động tải các công cụ cần thiết cho hoạt động của chúng. Ví dụ: chạy "tea https://Gist.githubusercontent.com/i0bj/…/raw/colors.go - yellow" sẽ cài đặt bộ công cụ Go và thực thi tập lệnh color.go với đối số "- yellow".

Để không phải gọi lệnh trà mọi lúc, có thể kết nối nó với tư cách là trình quản lý chung của môi trường ảo và trình xử lý các chương trình bị thiếu. Trong trường hợp này, nếu chương trình đang chạy không có sẵn, nó sẽ được cài đặt và nếu nó đã được cài đặt trước đó, nó sẽ được khởi chạy trong môi trường của nó. $ deno zsh: không tìm thấy lệnh: deno $ cd my-project $ deno trà: cài đặt deno.land^1.22 deno 1.27.0 > ^D

Ở dạng hiện tại, các gói có sẵn cho Tea được tập hợp thành hai bộ sưu tập - pantry.core và pantry.extra, bao gồm siêu dữ liệu mô tả nguồn tải xuống gói, tập lệnh xây dựng và phần phụ thuộc. Bộ sưu tập Pantry.core bao gồm các thư viện và tiện ích chính, được các nhà phát triển Tea duy trì và thử nghiệm. Pantry.extra chứa các gói chưa đủ ổn định hoặc được các thành viên trong cộng đồng đề xuất. Một giao diện web được cung cấp để điều hướng qua các gói.

Quá trình tạo gói cho Tea được đơn giản hóa rất nhiều và tập trung vào việc tạo một tệp pack.yml chung (ví dụ), không yêu cầu điều chỉnh gói cho từng phiên bản mới. Một gói có thể liên kết tới GitHub để khám phá các phiên bản mới và tải mã của chúng xuống. Tệp này cũng mô tả các phần phụ thuộc và cung cấp tập lệnh xây dựng cho các nền tảng được hỗ trợ. Các phần phụ thuộc được cài đặt là không thay đổi (phiên bản đã được sửa), giúp loại bỏ sự lặp lại của các tình huống tương tự như sự cố ở phần đệm bên trái.

Trong tương lai, dự kiến ​​​​sẽ tạo ra các kho lưu trữ phi tập trung không bị ràng buộc với bất kỳ bộ lưu trữ riêng biệt nào và sử dụng chuỗi khối phân tán cho siêu dữ liệu cũng như cơ sở hạ tầng phi tập trung để lưu trữ các gói. Các bản phát hành sẽ được chứng nhận trực tiếp bởi các nhà bảo trì và được các bên liên quan xem xét. Có thể phân phối mã thông báo tiền điện tử để đóng góp cho việc bảo trì, hỗ trợ, phân phối và xác minh các gói.

Người tạo ra bia đang phát triển một loại trà quản lý gói mới


Nguồn: opennet.ru

Thêm một lời nhận xét