ASDF - Trình Quản Lý Nhiều Phiên Bản Runtime

Hỗ trợ phát triển website

Trang web này được tạo ra để cung cấp thông tin hữu ích và miễn phí cho cộng đồng. Để duy trì và phát triển, chúng tôi cần sự hỗ trợ từ các bạn.

Nếu thấy trang web có giá trị, bạn có thể đóng góp bất kỳ khoản nào, dù là 20k hay 50k, để giúp trang tiếp tục hoạt động. Sự đóng góp của bạn sẽ giúp chi trả cho chi phí vận hành, bảo trì và nâng cao nội dung. Mọi sự ủng hộ đều rất được trân trọng và sẽ giúp chúng tôi phát triển bền vững.

Chân thành cảm ơn sự hỗ trợ của bạn!
ASDF - Trình Quản Lý Nhiều Phiên Bản Runtime
ASDF quản lý nhiều phiên bản công cụ lập trình trên một hệ thống. Nó đảm bảo tính nhất quán cho cả đội ngũ, đơn giản hóa việc quản lý phiên bản, cho phép cấu hình dự án cụ thể và tự động chuyển đổi môi trường. Đây là một công cụ duy nhất thay thế nhiều trình quản lý phiên bản, giảm xung đột và các vấn đề "nó chạy trên máy của tôi".

ASDF là gì?

ASDF là một công cụ quản lý phiên bản. Nó cho phép các nhà phát triển quản lý nhiều phiên bản của các ngôn ngữ lập trình, runtime, và các công cụ phát triển khác nhau trên một hệ thống duy nhất.

Thú vị: Tên "asdf" xuất phát từ bốn chữ cái đầu tiên bên trái của bàn phím. Hãy thử tìm chúng!

Trang chủ: https://asdf-vm.com/

Các Tính Năng Chính

  1. Tệp Cấu Hình Đơn: ASDF sử dụng tệp .tool-versions để chỉ định các phiên bản của tất cả các công cụ được sử dụng trong một dự án.
  2. Thân Thiện Với Quản Lý Phiên Bản: Tệp .tool-versions có thể được cam kết vào các hệ thống quản lý phiên bản như Git, đảm bảo tất cả các thành viên trong nhóm sử dụng cùng một phiên bản.
  3. Kiến Trúc Dựa Trên Plugin: ASDF có thể được mở rộng để hỗ trợ các công cụ khác nhau thông qua các plugin.

Cách Hoạt Động

  1. Tích Hợp Shell: ASDF tích hợp với shell của bạn (như Bash hoặc Zsh) để chặn các lệnh.
  2. Plugin: Mỗi công cụ (như Python, Node.js, v.v.) được quản lý bởi một plugin.
  3. Shims: Khi bạn cài đặt một phiên bản công cụ, ASDF tạo các shim cho các executable của nó.
  4. Lựa Chọn Phiên Bản: Khi bạn chạy một lệnh, ASDF kiểm tra tệp .tool-versions và thực thi phiên bản được chỉ định.

Ưu Điểm So Với Các Phương Pháp Truyền Thống

  1. Tính Nhất Quán: Đảm bảo tất cả các nhà phát triển sử dụng cùng một phiên bản công cụ, giảm các vấn đề "nó chạy trên máy của tôi".
  2. Đơn Giản: Một công cụ để quản lý tất cả các phụ thuộc theo phiên bản, thay vì sử dụng nhiều công cụ quản lý phiên bản khác nhau.
  3. Cấu Hình Dự Án Cụ Thể: Các dự án khác nhau có thể sử dụng các phiên bản công cụ khác nhau mà không bị xung đột.
  4. Chuyển Đổi Tự Động: Bạn không cần phải kích hoạt/tắt môi trường thủ công khi chuyển đổi giữa các dự án.

Kịch Bản Ví Dụ

Giả sử bạn có Python 3.8 và 3.9 được cài đặt qua asdf, và tệp .tool-versions của dự án của bạn chỉ định Python 3.9.5.

  1. Bạn cd vào thư mục dự án của bạn.
  2. Bạn gõ python trong terminal.
  3. Shim của asdf cho Python được thực thi
  4. Asdf đọc tệp .tool-versions.
  5. Nó thấy rằng Python 3.9.5 được chỉ định cho dự án này.
  6. Asdf sau đó chạy executable của Python 3.9.5.

Quá trình này diễn ra một cách minh bạch và nhanh chóng, vì vậy cảm giác như bạn chỉ đang chạy Python bình thường.

Cài Đặt asdf trên Ubuntu: Hướng Dẫn Từng Bước

Chuẩn Bị Hệ Thống Của Bạn: Đầu tiên, đảm bảo hệ thống của bạn được cập nhật:

$ sudo apt update && sudo apt upgrade

Cài đặt các dependency cần thiết:

$ sudo apt install curl git

Cài đặt asdf:

$ cd ~ && git clone https://github.com/asdf-vm/asdf.git ~/.asdf

Thêm dòng sau vào ~/.bashrc hoặc ~/.zshrc:

. "$HOME/.asdf/asdf.sh"

Khởi động lại shell của bạn hoặc source tệp cấu hình

Xác minh cài đặt:

$ asdf --version

Sử Dụng asdf trên Ubuntu: Hướng Dẫn Từng Bước

Thêm một plugin:

$ asdf plugin add  []
# asdf plugin add nodejs

Liệt Kê Tất Cả Các Phiên Bản Có Sẵn:

$ asdf list all 
# asdf list all nodejs

Cài đặt một phiên bản:

$ asdf install  
# asdf install nodejs 18.0.0

Liệt Kê Các Phiên Bản Đã Cài Đặt:

$ asdf list 
# asdf list nodejs

Thiết lập phiên bản cục bộ (trong thư mục hiện tại):

$ asdf local  
# asdf local nodejs 18.0.0

Lệnh local ghi phiên bản vào $PWD/.tool-versions, tạo nó nếu cần.

Hỗ trợ phát triển website

Trang web này được tạo ra để cung cấp thông tin hữu ích và miễn phí cho cộng đồng. Để duy trì và phát triển, chúng tôi cần sự hỗ trợ từ các bạn.

Nếu thấy trang web có giá trị, bạn có thể đóng góp bất kỳ khoản nào, dù là 20k hay 50k, để giúp trang tiếp tục hoạt động. Sự đóng góp của bạn sẽ giúp chi trả cho chi phí vận hành, bảo trì và nâng cao nội dung. Mọi sự ủng hộ đều rất được trân trọng và sẽ giúp chúng tôi phát triển bền vững.

Chân thành cảm ơn sự hỗ trợ của bạn!