Trang này mô tả các yêu cầu và bước để cài đặt Bazel trên Windows. Trang này cũng bao gồm thông tin 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 trình bày 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
Nên dùng: Windows 10 phiên bản 64 bit, phiên bản 1703 (Creators Update) 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
winvervào hộp tìm kiếm rồi nhấn Enter. - Bạn sẽ thấy hộp About Windows (Giới thiệu về Windows) có thông tin về phiên bản Windows.
Cài đặt các đ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ể:
- Tải tệp nhị phân Bazel (
bazel-version-windows-x86_64.exe) xuống từ GitHub. - Cài đặt Bazel từ Chocolatey
- Cài đặt Bazel từ Scoop
- Tạo Bazel từ nguồn
Thiết lập môi trường
Để dễ dàng truy cập Bazel từ dấu 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 và thêm tệp này vào các đường dẫn mặc định.
set PATH=%PATH%;path to the Bazel binaryBạn cũng có thể thay đổi biến môi trường PATH của hệ thống để biến này trở thành biến vĩnh viễn. Hãy xem cách thiết lập biến môi trường.
Xong
"Success: You've installed Bazel." (Thành công: Bạn đã cài đặt Bazel.)
Để kiểm tra xem quá trình cài đặt có chính xác hay không, hãy thử chạy:
bazel versionTiế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ữ
- Khắc phục sự cố
- Các phương pháp hay nhất trên Windows
- Hướng dẫn
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ữ mà bạn muốn tạo, bạn sẽ cần:
-
MSYS2 là một bản phân phối phần mềm và nền tảng tạo bản dựng cho Windows. Nền tảng 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, đây là
genrule,sh_binary,sh_test, nhưng có thể có nhiều mục tiêu hơn (chẳng hạn như quy tắc Starlark). Bazel sẽ hiển thị lỗi nếu mục tiêu tạo bản dựng cần Bash nhưng Bazel không thể tìm thấy. Các gói MSYS2 phổ biến
Bạn có thể sẽ cần các gói này để tạo và chạy các mục tiêu phụ thuộc vào Bash. MSYS2 không cài đặt các công cụ này theo mặc định, vì vậy, bạn cần cài đặt các công cụ này theo cách thủ công. Các dự án phụ thuộc vào công cụ Bash trong
PATHcần bước này (ví dụ: TensorFlow).Mở cửa sổ dòng lệnh MSYS2 rồi chạy lệnh này:
pacman -S zip unzip patch diffutils gitKhông bắt buộc: Nếu bạn muốn sử dụng Bazel từ CMD hoặc Powershell và vẫn có thể sử dụng các công cụ Bash, hãy nhớ thêm
MSYS2_INSTALL_PATH/usr/binvào biến môi trườngPATH.Build Tools for Visual Studio 2019 (Công cụ xây dựng cho Visual Studio 2019)
Bạn sẽ cần công cụ này để tạo mã C++ trên Windows.
Các công cụ cũng được hỗ trợ:
- Visual C++ Build Tools 2017 (Công cụ xây dựng Visual C++ 2017) (hoặc phiên bản mới hơn) và Windows 10 SDK
Java SE Development Kit 11 (JDK) cho Windows x64
Bạn sẽ cần công cụ này để tạo mã Java trên Windows.
Các công cụ cũng được hỗ trợ: Java 8, 9 và 10
-
Bạn sẽ cần công cụ này để tạo mã Python trên Windows.
Các công cụ cũng được hỗ trợ: Python 2.7 trở lên cho Windows x86-64
Khắc phục sự cố
Bazel không tìm thấy Bash hoặc bash.exe
Các lý do có thể:
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 giải pháp đó không hữu ích, hãy làm như sau:
Chuyển đến Start Menu (Trình đơn Bắt đầu) > Settings (Cài đặt).
Tìm chế độ cài đặt "Edit environment variables for your account" (Chỉnh sửa biến môi trường cho tài khoản của bạn)
Xem danh sách ở trên cùng ("User variables for <username>" (Biến người dùng cho <username>)) rồi nhấp vào nút "New..." (Mới...) bên dưới.
Đối với "Variable name" (Tên biến), hãy nhập
BAZEL_SHNhấp vào "Browse File..." (Duyệt tìm tệp...)
Chuyển đến thư mục MSYS2, sau đó đến
usr\binbên dưới.Ví dụ: đây có thể là
C:\msys64\usr\bintrên hệ thống của bạn.Chọn tệp
bash.exehoặcbashrồi nhấp vào OKTrường "Variable value" (Giá trị biến) hiện có đường dẫn đến
bash.exe. Nhấp vào OK để đóng cửa sổ.Xong.
Nếu bạn mở một cửa sổ dòng lệnh cmd.exe hoặc PowerShell mới và chạy Bazel ngay bây giờ, thì Bazel sẽ tìm thấy Bash.
Bazel không tìm thấy Visual Studio hoặc Visual C++
Các lý do có thể:
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 Visual Studio
bạn đã cài đặt nhiều phiên bản Windows SDK
bạn đã cài đặt Visual Studio không theo đường dẫn cài đặt mặc định
Giải pháp:
Chuyển đến Start Menu (Trình đơn Bắt đầu) > Settings (Cài đặt).
Tìm chế độ cài đặt "Edit environment variables for your account" (Chỉnh sửa biến môi trường cho tài khoản của bạn)
Xem danh sách ở trên cùng ("User variables for <username>" (Biến người dùng cho <username>)) rồi nhấp vào nút "New..." (Mới...) bên dưới.
Đối với "Variable name" (Tên biến), hãy nhập
BAZEL_VCNhấp vào "Browse Directory..." (Duyệt tìm thư mục...)
Chuyển đến thư mục
VCcủa Visual Studio.Ví dụ: đây có thể là
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VCtrên hệ thống của bạn.Chọn thư mục
VCrồi nhấp vào OKTrường "Variable value" hiện có đường dẫn đến
VC. Nhấp vào OK để đóng cửa sổ.Xong.
Nếu bạn mở một cửa sổ dòng lệnh cmd.exe hoặc PowerShell mới và chạy Bazel ngay bây giờ, thì Bazel sẽ tìm thấy Visual C++.
Các cách khác để cài đặt Bazel
Sử dụng Chocolatey
Cài đặt trình quản lý gói Chocolatey
Cài đặt gói Bazel:
choco install bazelLệ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 phiên bản đó, chẳng hạn như giao diện dòng lệnh MSYS2. Tuy nhiên, lệnh này sẽ không cài đặt Visual C++ though.
Hãy xem hướng dẫn cài đặt Chocolatey và bảo trì gói để biết thêm thông tin về gói Chocolatey.
Sử dụng Scoop
Cài đặt trình quản lý gói Scoop bằng lệnh PowerShell sau:
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')Cài đặt gói Bazel:
scoop install bazel
Hãy xem hướng dẫn cài đặt Scoop và bảo trì gói để 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 bài viết Biên dịch từ nguồn.