Cách khắc phục: Không tìm thấy task 'npm: build' được tham chiếu trong launch.json

cơ bản💻 VS Code2026-07-01| Visual Studio Code (Mọi hệ điều hành), môi trường Node.js/npm, hoặc bất kỳ dự án nào sử dụng preLaunchTask trong cấu hình debug.

Error Message

The task 'npm: build' referenced in launch.json cannot be found.
#tasks#launch.json#vscode#debug#npm

Vấn đềBạn nhấn F5 để bắt đầu debug, nhưng thay vì ứng dụng khởi chạy, một thông báo popup chặn tiến trình của bạn. Điều này xảy ra vì trình debugger của VS Code đang tìm kiếm một chỉ dẫn cụ thể—được định nghĩa bởi thuộc tính preLaunchTask—nhưng nó lại không tồn tại trong các file cấu hình của bạn. Nó giống như việc cố gắng gọi đến một số điện thoại chưa được đăng ký vậy.

Thông báo lỗi chính xác trông như thế này:

The task 'npm: build' referenced in launch.json cannot be found.

Tóm tắt: Cách sửa nhanh trong 60 giây- Mở .vscode/launch.json và sao chép chính xác văn bản bên trong preLaunchTask.- Mở .vscode/tasks.json và đảm bảo tồn tại một task có label khớp hoàn toàn với văn bản đó.- Nếu thiếu tasks.json, bạn phải tạo nó thủ công trong thư mục .vscode.- Khởi động lại VS Code để buộc làm mới bộ nhớ đệm của trình chạy task (task runner cache).## Bước 1: Xác minh sự trùng khớp của LabelVS Code kết nối trình debugger với các script build của bạn bằng cách so khớp chuỗi ký tự đơn giản. Nếu có một lỗi đánh máy, một khoảng trắng thừa hoặc sai khác về chữ hoa/chữ thường, liên kết sẽ bị hỏng. Máy tính rất máy móc; chúng không biết rằng "npm: build" và "npm: Build" được dùng cho cùng một mục đích.

Kiểm tra launch.jsonTruy cập file .vscode/launch.json của bạn. Tìm cấu hình bạn đang cố gắng chạy và tìm dòng preLaunchTask:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Khởi chạy chương trình",
      "program": "${workspaceFolder}/app.js",
      "preLaunchTask": "npm: build"
    }
  ]
}

Kiểm tra tasks.jsonBây giờ, hãy mở .vscode/tasks.json. label ở đây phải khớp 1:1 với preLaunchTask ở trên.

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "npm: build",
      "type": "shell",
      "command": "npm run build"
    }
  ]
}

Nếu nhãn của bạn chỉ là "build" nhưng launch.json yêu cầu "npm: build", trình debugger sẽ luôn thất bại.

Bước 2: Đừng phụ thuộc vào tính năng tự động phát hiện (Auto-Detection)VS Code cố gắng quét file package.json của bạn để tự động phát hiện các task như npm: build. Tuy nhiên, quá trình này có thể chậm. Nếu bạn cố gắng debug trong vòng 5–10 giây đầu tiên sau khi mở một dự án lớn, extension có thể chưa hoàn thành việc quét.

Giải pháp đáng tin cậy nhất là định nghĩa task một cách rõ ràng. Điều này giúp loại bỏ các phỏng đoán không chắc chắn. Nếu bạn muốn sử dụng một script từ package.json, hãy sử dụng định dạng rõ ràng này trong tasks.json:

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "npm",
      "script": "build",
      "problemMatcher": [],
      "label": "npm: build"
    }
  ]
}

Bước 3: Tìm kiếm lỗi cú pháp JSONMột dấu phẩy bị thiếu ở dòng 12 có thể làm hỏng toàn bộ file tasks.json của bạn. Khi JSON bị sai định dạng, VS Code sẽ âm thầm bỏ qua file đó thay vì hiển thị lỗi cú pháp. Nó chỉ đơn giản hoạt động như thể các task không tồn tại.

Tôi khuyên bạn nên sử dụng JSON Formatter & Validator trên ToolCraft. Hãy dán code của bạn vào đó để phát hiện các dấu phẩy thừa hoặc thiếu dấu ngoặc—những lỗi rất dễ bỏ sót trong một trình soạn thảo có giao diện tối (dark theme).

Bước 4: Các vấn đề về Multi-Root WorkspaceBạn đang làm việc trong một workspace có nhiều thư mục dự án? VS Code tìm kiếm thư mục .vscode trong thư mục gốc cụ thể của file bạn đang debug. Nếu launch.json của bạn nằm trong "Thư mục A" nhưng tasks.json lại nằm ở thư mục workspace cấp cao nhất, trình debugger sẽ không tìm thấy nó. Hãy di chuyển các file cấu hình vào thư mục con của dự án cụ thể để giữ cho chúng nằm trong đúng phạm vi (scope).

Cách xác nhận lỗi đã được khắc phục- Nhấn Ctrl+Shift+P (hoặc Cmd+Shift+P trên Mac).- Nhập Tasks: Run Task và nhấn Enter.- Duyệt qua danh sách. Nếu "npm: build" không xuất hiện ở đây, VS Code vẫn chưa thấy task của bạn. Hãy kiểm tra lại tên file và đường dẫn.- Nếu nó hiển thị, hãy nhấn F5. Quá trình build bây giờ sẽ tự động kích hoạt trước khi trình debugger bắt đầu.## Các nguyên nhân phổ biến gây lỗi- Phân biệt chữ hoa chữ thường: "Build" so với "build" là nguyên nhân số 1 gây ra lỗi này.- Phần mở rộng bị ẩn: Đảm bảo file của bạn có tên là tasks.json chứ không phải tasks.json.txt.- Độ trễ của Extension: Extension npm vẫn đang trong quá trình khởi động. Việc định nghĩa task thủ công sẽ khắc phục được điều này.- Sai thư mục: Bạn đang chỉnh sửa file tasks.json trong sai thư mục dự án.

Related Error Notes