Khi chạy Gulp, bạn có thể thấy lỗi "cannot find module gulp-sass".
Thông báo này nghĩa là Gulp đang cố chạy hàm từ gói gulp-sass nhưng không tìm thấy nó.
Nếu gặp lỗi này, đây là vài cách khắc phục:
Kiểm tra thư mục node_modules
Khi cài gói npm, npm tạo thư mục node_modules ở gốc dự án. Các gói đã cài cũng được thêm vào package.json và package-lock.json.
Bạn có thể xác nhận gói đã cài bằng cách kiểm tra nó có liệt kê trong package.json và package-lock.json không. Và kiểm tra thư mục node_modules xem gói có trong thư mục con đó không.
Cuối cùng, đảm bảo bạn chạy website/app từ thư mục gốc dự án, và thư mục gốc chứa node_modules như thư mục con trực tiếp. Nếu node_modules không ở vị trí đó, có thể gây lỗi này.
Cài đặt lại module gulp-sass thủ công
Nếu không thấy gói gulp-sass trong node_modules, hoặc vẫn gặp vấn đề, hãy thử cài lại gói.
Trước tiên, mở package.json và package-lock.json, xóa mọi tham chiếu đến gulp-sass và node-sass. Điều này đảm bảo bạn sẽ cài phiên bản mới nhất.
Sau đó, chạy npm install gulp-sass hoặc npm install gulp-sass --save-dev để cài và lưu vào package.json. Cờ --save-dev sẽ thêm gói vào phần devDependencies.
Nếu không thêm cờ, gói sẽ vào phần dependencies. Đặc biệt nếu chỉ làm local, không quá quan trọng bạn dùng phần nào, tuỳ thích bạn.
Lưu ý: lệnh này cài gói cục bộ trong thư mục dự án, chỉ truy cập được từ dự án đó. Bạn cũng có thể cài toàn cục bằng cờ -g: npm install -g gulp-sass.
Tuy nhiên tôi thường cài gói cục bộ cho dự án. Chỉ cài gulp-cli toàn cục, còn lại để cục bộ.
Xóa và cài lại tất cả gói npm
Nếu chỉ xóa và cài lại gulp-sass không hiệu quả, hãy thử xóa và cài lại toàn bộ gói npm.
Trước hết, đảm bảo tất cả gói cần thiết cho dự án đều có trong package.json. Cũng đảm bảo gulp-sass có trong package.json.
Sau đó, xóa thư mục node_modules. Có thể xóa từ File Explorer, hoặc chạy rm node_modules trên dòng lệnh. Nếu gặp lỗi khi xóa, có thể cài gói npm tên rimraf giúp xóa.
Tôi cài rimraf toàn cục để chạy từ bất kỳ thư mục nào. Cài rimraf toàn cục: npm install -g rimraf. Sau đó xóa thư mục bằng rimraf node_modules từ dòng lệnh gốc dự án.
Nếu vẫn gặp lỗi như node_modules\@types is not accessible, bạn có thể cần đóng VS Code hoặc trình soạn thảo code đang dùng. Sau đó thử xóa lại.
Sau khi xóa thành công node_modules, chạy npm install từ gốc dự án để cài lại tất cả gói đã liệt kê.