0
0
Lập trình
TT

Giới thiệu Zoi v5: Trình quản lý gói tiên tiến

Đăng vào 4 tháng trước

• 4 phút đọc

Chủ đề:

KungFuTech

Giới thiệu Zoi v5 Beta

Chào các bạn, hôm nay tôi rất vui mừng thông báo rằng Zoi v5 beta đã chính thức ra mắt. Zoi là một trình quản lý gói, tương tự như pacman và nix, cho phép bạn đóng gói phần mềm bằng Lua và có hệ thống xây dựng gói với khả năng quản lý phụ thuộc phong phú.

Tính năng nổi bật của Zoi

Zoi có khả năng xây dựng một kho lưu trữ gói mà không cần xây dựng phần mềm từ mã nguồn, nếu phần mềm của bạn đã cung cấp một tệp nhị phân hoặc một tệp nén (tar.gz, tar.xz, tar.zsr, zip) hoặc từ mã nguồn nếu bạn muốn.

Cách hoạt động của Zoi

Zoi sẽ tải xuống các tệp nhị phân, giải nén chúng, xác minh checksum và chữ ký (nếu có) và đóng gói chúng vào một tệp có định dạng name-version-os-arch-pkg.tar.zst.

Zoi có lệnh pgp để xử lý các khóa PGP và sử dụng chúng để xác minh chữ ký của phần mềm, cùng với lệnh man để xem tài liệu của một gói (cả gói đã cài đặt cục bộ lẫn từ URL nguồn).

Hệ thống quản lý phụ thuộc

Zoi cung cấp khả năng xử lý phụ thuộc với hơn 40 trình quản lý gói khác nhau. Hệ thống mở rộng cho phép bạn quản lý kho (repo), bạn có thể thay đổi kho GIT (kho gói Zoi là các repo git đơn giản) thành kho của riêng bạn hoặc một trong các gương của Zoi. Bạn cũng có thể tạo kho của riêng mình với một kho lưu trữ gói để cài đặt các gói pkg.tar.zst và thêm các gương cho cả hai.

Ngoài ra, bạn có thể thêm các repo git như là kho và truy cập chúng với định dạng @git/repo-name/package nếu bạn không muốn thay thế kho gói.

Cài đặt gói từ repo git

Bạn cũng có thể cài đặt một gói từ một repo git (như GitHub, GitLab, Codeberg) từ tệp zoi.yaml trong repo đó. Cú pháp cài đặt gói từ GitHub:

Copy
zoi install --repo gh:Zillowe/Hello

Quy trình cài đặt Zoi

Lệnh cài đặt Zoi hoạt động theo các bước sau:

  1. Đọc tệp repo.yaml và kiểm tra xem có kho lưu trữ gói nào không.
  2. Nếu có, nó sẽ cài đặt tệp pkg.tar.zst cho gói đó.
  3. Nếu không thành công hoặc không có, nó sẽ cố gắng xây dựng một tệp pkg.tar.zst và sau đó cài đặt.
  4. Nếu điều đó thất bại hoặc loại gói không được hỗ trợ, nó sẽ quay lại phương pháp cài đặt thông thường bằng cách lấy mã nguồn và đặt chúng vào vị trí của chúng.

Cách cài đặt Zoi

Bạn có thể cài đặt Zoi qua các trình quản lý gói sau:

Copy
yay -S zoi-bin

brew install Zillowe/tap/Zoi

scoop add bucket https://github.com/Zillowe/scoop.git
scoop install zoi

npx @zillowe/zoi

Hoặc thông qua một script cài đặt:

Copy
curl -fsSL https://zillowe.pages.dev/scripts/zoi/install.sh | bash

Hoặc từ mã nguồn bằng Cargo:

Copy
cargo install zoi-rs

Ví dụ thực tế

Dưới đây là một số ví dụ hoạt động:

Copy
zoi install @zillowe/hello
Copy
zoi man @zillowe/hello

Các tính năng khác của Zoi

Zoi còn nhiều tính năng khác mà tôi không thể đề cập hết, như có nhiều loại gói khác nhau như dịch vụ, cấu hình, mở rộng, và nhiều hơn nữa. Với Zoi, bạn có thể thay thế Omarchy (v1) và Omakub bằng loại gói cấu hình, cũng như một số chức năng của Nix.

Zoi cũng là một thư viện, vì vậy bạn có thể thêm vào các ứng dụng Rust của riêng bạn:

Copy
cargo add zoi-rs

Ngoài ra, bạn có thể tham khảo gói mẫu @zillowe/hello theo hướng dẫn để tìm hiểu cách đóng gói một gói: Hướng dẫn trên GitHub

Tài liệu và hỗ trợ

Tất cả các tính năng đều được tài liệu hóa trong tài liệu, vì vậy hãy xem qua vì có rất nhiều điều thú vị:

Tài liệu Zoi

Tôi rất hoan nghênh các đóng góp vì tôi là người duy nhất bảo trì dự án và đặc biệt là trong việc đóng góp tài liệu vì nó cần một số công việc.

GitHub Zoi

Đây sẽ là bản phát hành cuối cùng trước khi ra mắt phiên bản ổn định v1.

Hãy tham gia máy chủ Discord của tôi (có trong repo GitHub).

Tôi không nhắm đến một kho gói lớn, tôi chỉ cung cấp một công cụ để mọi người sử dụng và xây dựng những gì họ muốn (nếu bạn muốn tải gói của mình lên kho gói chính thức của Zoi thì rất hoan nghênh).

Tính năng tương lai

Một số tính năng tiếp theo mà tôi dự định triển khai:

  • Các gói cụ thể cho dự án, định nghĩa gói trong tệp zoi.yaml cục bộ và cài đặt các gói này vào thư mục cục bộ .zoi/ mà không cần thêm vào PATH và có thể chạy qua lệnh zoi exec.

Kết luận

Zoi v5 beta là một bước tiến lớn trong việc quản lý gói phần mềm, mang lại nhiều tính năng hữu ích cho các lập trình viên. Hãy trải nghiệm Zoi và khám phá những gì nó có thể mang lại cho bạn. Đừng quên theo dõi và tham gia cộng đồng để cập nhật những tính năng mới nhất!

Câu hỏi thường gặp (FAQ)

1. Zoi có hỗ trợ các hệ điều hành nào?
Zoi hỗ trợ nhiều hệ điều hành, bao gồm Linux và Windows.

2. Làm thế nào để đóng góp vào dự án Zoi?
Bạn có thể tham gia vào dự án qua GitHub và gửi yêu cầu kéo (pull request) cho những thay đổi bạn muốn thực hiện.

3. Zoi có thể thay thế các trình quản lý gói khác không?
Zoi có thể thay thế một số tính năng của các trình quản lý gói khác nhưng vẫn giữ được những điểm mạnh riêng của mình.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào