Cài đặt Bazel trên Windows

Báo cáo sự cố Xem nguồn

Trang này mô tả yêu cầu và các bước cài đặt Bazel trên Windows. Hướng dẫn này cũng bao gồm khắc phục sự cố và các cách khác để cài đặt Bazel, chẳng hạn như sử dụng Chocolatey hoặc Scoop.

Cài đặt Bazel

Phần này đề cập đến các điều kiện tiên quyết, cách thiết lập môi trường và các bước chi tiết trong quá trình cài đặt trên Windows.

Kiểm tra hệ thống của bạn

Đề xuất: Windows 10 64 bit, phiên bản 1703 (Bản cập nhật dành cho nhà sáng tạo) trở lên

Cách kiểm tra phiên bản Windows:

  • Nhấp vào nút Start (Bắt đầu).
  • Nhập winver vào hộp tìm kiếm và nhấn Enter.
  • Bạn sẽ thấy hộp About Windows (Giới thiệu về Windows) cùng với thông tin về phiên bản Windows của mình.

Cài đặt điều kiện tiên quyết

Tải Bazel xuống

Nên dùng: Sử dụng Bazelisk

Ngoài ra, bạn có thể:

Thiết lập môi trường

Để dễ dàng truy cập Bazel qua lời nhắc lệnh hoặc PowerShell theo mặc định, bạn có thể đổi tên tệp nhị phân Bazel thành bazel.exe rồi thêm tệp này vào đường dẫn mặc định.

set PATH=%PATH%;path to the Bazel binary

Bạn cũng có thể thay đổi biến môi trường PATH của hệ thống để đặt biến môi trường vĩnh viễn. Hãy xem cách thiết lập biến môi trường.

Xong

"Thành công: Bạn đã cài đặt Bazel."

Để kiểm tra xem bạn đã cài đặt đúng cách hay chưa, hãy thử chạy:

bazel version

Tiếp theo, bạn có thể xem thêm các mẹo và hướng dẫn tại đây:

Cài đặt trình biên dịch và thời gian chạy ngôn ngữ

Tuỳ thuộc vào ngôn ngữ muốn xây dựng, bạn sẽ cần:

  • MSYS2 x86_64

    MSYS2 là một nhà phân phối phần mềm và nền tảng xây dựng dành cho Windows. Tệp này chứa Bash và các công cụ Unix phổ biến (như grep, tar, git).

    Bạn sẽ cần MSYS2 để tạo, kiểm thử hoặc chạy các mục tiêu phụ thuộc vào Bash. Thông thường, đó là genrule, sh_binary, sh_test, nhưng có thể có nhiều hơn (chẳng hạn như các quy tắc Starlark). Bazel hiển thị lỗi nếu một mục tiêu bản dựng cần Bash nhưng Bazel không xác định được vị trí đó.

  • Các gói MSYS2 phổ biến

    Có thể bạn sẽ cần các dữ liệu này để xây dựng và chạy các mục tiêu phụ thuộc vào Bash. Theo mặc định, MSYS2 không cài đặt các công cụ này, vì vậy, bạn cần cài đặt chúng theo cách thủ công. Các dự án phụ thuộc vào công cụ Bash trong PATH cần thực hiện bước này (ví dụ: TensorFlow).

    Mở cửa sổ dòng lệnh MSYS2 và chạy lệnh sau:

    pacman -S zip unzip patch diffutils git
    

    Không bắt buộc: Nếu bạn muốn sử dụng Bazel từ CMD hoặc Powershell mà vẫn có thể sử dụng các công cụ Bash, hãy nhớ thêm MSYS2_INSTALL_PATH/usr/bin vào biến môi trường PATH.

  • Công cụ tạo bản dựng cho Visual Studio 2019

    Bạn sẽ cần mã này để tạo mã C++ trên Windows.

    Cũng được hỗ trợ:

    • Công cụ xây dựng Visual C++ 2017 (hoặc mới hơn) và SDK Windows 10
  • Bộ phát triển Java SE 11 (JDK) dành cho Windows x64

    Bạn sẽ cần gói này để tạo mã Java trên Windows.

    Cũng được hỗ trợ: Java 8, 9 và 10

  • Python 3.6 dành cho Windows x86-64

    Bạn sẽ cần gói này để tạo mã Python trên Windows.

    Cũng được hỗ trợ: Python 2.7 hoặc mới hơn cho Windows x86-64

Khắc phục sự cố

Bazel không tìm thấy Bash hoặc bash.exe

Lý do có thể có:

  • bạn đã cài đặt MSYS2 không theo đường dẫn cài đặt mặc định

  • bạn đã cài đặt MSYS2 i686 thay vì MSYS2 x86_64

  • bạn đã cài đặt MSYS thay vì MSYS2

Giải pháp:

Đảm bảo bạn đã cài đặt MSYS2 x86_64.

Nếu cách này không hiệu quả, hãy làm như sau:

  1. Chuyển đến Trình đơn Start (Bắt đầu) > Settings (Cài đặt).

  2. Tìm chế độ cài đặt "Chỉnh sửa biến môi trường cho tài khoản của bạn"

  3. Xem danh sách ở trên cùng ("Biến người dùng cho <tên người dùng>") rồi nhấp vào nút "Mới..." bên dưới.

  4. Đối với "Tên biến", hãy nhập BAZEL_SH

  5. Nhấp vào "Duyệt tệp..."

  6. Chuyển đến thư mục MSYS2, sau đó chuyển đến usr\bin bên dưới thư mục đó.

    Ví dụ: giá trị này có thể là C:\msys64\usr\bin trên hệ thống của bạn.

  7. Chọn tệp bash.exe hoặc bash rồi nhấp vào OK

  8. Trường "Giá trị biến" hiện có đường dẫn đến bash.exe. Nhấp vào OK để đóng cửa sổ.

  9. Xong.

    Nếu bạn mở một cmd.exe hoặc dòng lệnh PowerShell mới và chạy Bazel ngay bây giờ, thì bạn sẽ thấy Bash.

Bazel không tìm thấy Visual Studio hoặc Visual C++

Lý do có thể có:

  • bạn đã cài đặt nhiều phiên bản Visual Studio

  • bạn đã cài đặt và xoá nhiều phiên bản của Visual Studio

  • bạn đã cài đặt nhiều phiên bản khác nhau của SDK Windows

  • bạn đã cài đặt Visual Studio không nằm trong đường dẫn cài đặt mặc định

Giải pháp:

  1. Chuyển đến Trình đơn Start (Bắt đầu) > Settings (Cài đặt).

  2. Tìm chế độ cài đặt "Chỉnh sửa biến môi trường cho tài khoản của bạn"

  3. Xem danh sách ở trên cùng ("Biến người dùng cho <tên người dùng>") rồi nhấp vào nút "Mới..." bên dưới.

  4. Đối với "Tên biến", hãy nhập BAZEL_VC

  5. Nhấp vào "Duyệt qua thư mục..."

  6. Chuyển đến thư mục VC của Visual Studio.

    Ví dụ: đây có thể là C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC trên hệ thống của bạn.

  7. Chọn thư mục VC rồi nhấp vào OK

  8. Trường "Giá trị biến" hiện có đường dẫn đến VC. Nhấp vào OK để đóng cửa sổ.

  9. Xong.

    Nếu bạn mở một cmd.exe hoặc dòng lệnh PowerShell mới và chạy Bazel ngay bây giờ, thì thao tác này sẽ tìm thấy Visual C++.

Các cách khác để cài đặt Bazel

Sử dụng sô cô la

  1. Cài đặt trình quản lý gói Chocolatey

  2. Cài đặt gói Bazel:

    choco install bazel
    

    Lệnh này sẽ cài đặt phiên bản mới nhất hiện có của Bazel và các phần phụ thuộc của Bazel, chẳng hạn như shell MSYS2. Tuy nhiên, thao tác này sẽ không cài đặt Visual C++.

Xem bài viết Hướng dẫn cài đặt và bảo trì gói Sô cô la để biết thêm thông tin về gói Sô cô la.

Sử dụng Scoop

  1. Cài đặt trình quản lý gói Scoop bằng lệnh PowerShell sau đây:

    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
    
  2. Cài đặt gói Bazel:

    scoop install bazel
    

Xem bài viết Hướng dẫn cài đặt và bảo trì gói Scoop để biết thêm thông tin về gói Scoop.

Tạo từ nguồn

Để tạo Bazel từ đầu thay vì cài đặt, hãy xem phần Biên dịch từ nguồn.