Tại sao lỗi này xuất hiện
Windows không phải là hệ điều hành dựa trên Unix. Không giống như Linux hay macOS, nó không bao gồm tiện ích make theo mặc định. Ngay cả khi bạn đã cài đặt trình biên dịch như GCC, công cụ make thường bị thiếu hoặc bị ẩn dưới một tên tệp khác như mingw32-make.exe. Nếu terminal không thể tìm thấy tệp thực thi trong System PATH, nó sẽ báo lỗi này.
Cách 1: Cách khắc phục nhanh nhất (Sử dụng Chocolatey)
Nếu bạn sử dụng trình quản lý gói Chocolatey, bạn có thể giải quyết vấn đề này trong vài giây. Nó sẽ tự động xử lý việc tải xuống và cấu hình PATH cho bạn.
Mở terminal với quyền Administrator và chạy:
choco install make
Bản cài đặt rất nhẹ—thường khoảng 2.1 MB. Sau khi quá trình hoàn tất, hãy khởi động lại terminal. Nhập make -v để xác nhận nó hoạt động.
Cách 2: Sử dụng MinGW-w64
Hầu hết các nhà phát triển C++ trên Windows đều sử dụng bộ công cụ MinGW-w64. Nếu bạn đã cài đặt nó, có khả năng bạn đã có sẵn công cụ này; nó chỉ được đặt tên khác để tránh xung đột.
Bước 1: Tìm thư mục bin của bạn
Truy cập vào thư mục cài đặt của bạn. Tùy thuộc vào cách bạn đã cài đặt, đường dẫn thường trông giống như một trong những đường dẫn sau:
C:\msys64\mingw64\bin(Phổ biến nhất đối với người dùng MSYS2)C:\MinGW\binC:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
Bước 2: Tạo bí danh (alias) cho 'make'
Bên trong thư mục bin đó, bạn sẽ tìm thấy một tệp có tên là mingw32-make.exe. Đây là công cụ GNU Make tiêu chuẩn, nhưng được đổi tên cho môi trường Windows. Để sử dụng lệnh make ngắn gọn hơn, chỉ cần sao chép tệp mingw32-make.exe và dán vào cùng thư mục đó. Đổi tên bản sao đó thành make.exe.
Cách 3: Cập nhật System PATH của bạn
Nếu bạn đã có tệp nhưng terminal vẫn không nhận diện được lệnh, đó là do Windows không biết thư mục đó nằm ở đâu. Bạn cần chỉ đường dẫn một cách thủ công.
- Nhấn phím Windows và nhập "env". Chọn "Edit the system environment variables".
- Trong cửa sổ xuất hiện, nhấp vào nút Environment Variables.
- Tìm trong mục System variables dòng có tên Path. Chọn nó và nhấn Edit.
- Nhấp vào New và dán đường dẫn đầy đủ đến thư mục
bincủa bạn (ví dụ:C:\msys64\mingw64\bin). - Nhấp OK trên cả ba cửa sổ để lưu các thay đổi của bạn.
Xác minh kết quả
Đừng bỏ qua bước này: bạn phải khởi động lại terminal. Các biến môi trường được tải khi một tiến trình bắt đầu, vì vậy cửa sổ CMD hoặc PowerShell hiện tại của bạn sẽ chưa thấy các thay đổi.
Chạy lệnh này để kiểm tra kết quả:
make --version
Bạn sẽ thấy phản hồi tương tự như thế này:
GNU Make 4.4.1
Built for x86_64-w64-mingw32
Copyright (C) 1988-2023 Free Software Foundation, Inc.
Khắc phục các sự cố thường gặp
Terminal của VS Code vẫn báo lỗi
VS Code nổi tiếng với việc lưu bộ nhớ đệm (cache) các thiết lập môi trường. Nếu lệnh hoạt động trong Command Prompt tiêu chuẩn nhưng thất bại trong VS Code, hãy đóng tất cả các cửa sổ VS Code và khởi động lại ứng dụng. Điều này buộc terminal tích hợp phải làm mới cây môi trường của nó.
Xung đột phiên bản
Đôi khi các công cụ như Git Bash hoặc Strawberry Perl bao gồm phiên bản make riêng của chúng. Chạy where make trong terminal của bạn. Lệnh này liệt kê mọi vị trí mà Windows tìm thấy tệp thực thi "make". Nếu phiên bản sai đang được sử dụng, hãy quay lại Environment Variables và di chuyển đường dẫn ưu tiên của bạn lên trên cùng của danh sách.
Lỗi quyền truy cập
Nếu bạn nhận được lỗi "Access Denied" khi cố gắng đổi tên mingw32-make.exe, hãy đảm bảo bạn đang thực hiện hành động này với quyền Windows Administrator. Một số thư mục bên trong C:\Program Files được bảo vệ chống lại các thay đổi từ người dùng thông thường.

