[Error Laravel] This can be due to an antivirus or the Windows Search Indexer locking the file while they are analyzed
Chào anh em lại là mình đây! Hôm nay mình cài đặt lại dự án ông bạn già laravel. Ban đầu mình cũng chạy lệnh để cài đặt dự án
composer global require laravel/installer
laravel new example-app
Nhưng cái bùm hiện ra trước mắt mình là một lỗi khá phổ biến hôm nay mình sẽ hướng dẫn anh em phân tích nguyên nhân lỗi này do đâu, và cách fix nó né, bắt đầu thôi

Như bạn thấy trên ảnh lỗi này rất phổ biến khi bạn sử dụng Composer (công cụ quản lý thư viện của PHP/Laravel) trên hệ điều hành Windows.
Đúng như thông báo lỗi đã gợi ý, nguyên nhân là do một phần mềm khác trên máy tính đang "khóa" (lock) file hoặc thư mục này, khiến Composer không thể xóa hay ghi đè dữ liệu lên đó trong quá trình cài đặt.
Thủ phạm thường gặp nhất là phần mềm diệt virus (đang quét file vừa tải về) hoặc các trình soạn thảo code (như VS Code, PHPStorm đang tạo chỉ mục index cho project).
Dưới đây là các cách khắc phục từ dễ đến khó để bạn giải quyết vấn đề này:
1. Tắt các trình soạn thảo code và Terminal khác
Nếu bạn đang mở thư mục D:\learn\build\example-app bằng VS Code, PHPStorm, hoặc đang mở một cửa sổ Command Prompt/PowerShell khác trỏ vào thư mục này:
- Hãy đóng hoàn toàn các phần mềm đó lại.
- Chỉ mở duy nhất một cửa sổ Terminal để chạy lệnh cài đặt Laravel.
2. Thiết lập loại trừ (Exclude) trong Windows Defender / Antivirus
Phần mềm diệt virus thường tự động quét các file mới ngay khi Composer tải chúng về, gây ra tình trạng khóa file.
- Cách xử lý tạm thời: Tạm tắt tính năng Real-time protection (Bảo vệ thời gian thực) của Windows Defender hoặc phần mềm diệt virus của bạn, sau đó chạy lại lệnh cài đặt.
- Cách xử lý triệt để: Thêm thư mục làm việc của bạn (VD: D:\learn) vào danh sách loại trừ (Exclusions) của Windows Defender để nó không quét các file code bên trong thư mục này nữa.
3. Xóa bộ nhớ đệm (Cache) của Composer
Đôi khi file nén trong bộ nhớ đệm của Composer bị lỗi. Bạn hãy chạy lệnh sau trong Terminal để dọn dẹp:
composer clear-cache
Sau đó, hãy xóa thư mục example-app (nếu có) và chạy lại lệnh tạo project Laravel.
4. Khởi động lại máy tính (Giải pháp "vạn năng")
Nếu bạn đã làm các cách trên mà vẫn báo lỗi, có thể một tiến trình ngầm nào đó của Windows đang treo và giữ file. Hãy khởi động lại máy tính, sau đó lập tức mở Terminal và chạy lại lệnh cài đặt.
💡 Lời khuyên: Sau khi khắc phục xong tình trạng khóa file, nếu bạn đang cài đặt dở dang, bạn có thể di chuyển vào thư mục project và chạy lệnh sau để Composer tiếp tục tải nốt các thư viện còn thiếu:
cd D:\learn\build\example-app
composer install
All Rights Reserved