Cách khắc phục lỗi 'make is not recognized' trên Windows 10 và 11

beginner🪟 Windows2026-06-10| Windows 10, Windows 11, MinGW-w64, MSYS2, VS Code Terminal, PowerShell 7

Error Message

'make' is not recognized as an internal or external command, operable program or batch file.
#make#mingw#cpp#windows-10#windows-11#lập trình

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\bin
  • C:\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 bin củ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.

Related Error Notes