Nếu bạn đang làm việc với Node.js và npm, bạn có thể gặp thông báo lỗi cho biết `npm ERR! enoent` theo sau là đường dẫn tệp. Lỗi này có nghĩa là npm không thể tìm hoặc mở tệp hoặc thư mục cần thiết để thực thi lệnh. Trong bài viết này, chúng tôi sẽ giải thích nguyên nhân gây ra lỗi này và cách khắc phục.

Npm ERR là gì! enoent?

Mã `ENOENT` là viết tắt của **Error NO ENTry** hoặc **Error NO ENTity**. Đây là một mã lỗi phổ biến trong Node.js cho biết tệp hoặc thư mục không tồn tại hoặc không thể truy cập được. Thông báo lỗi thường bao gồm đường dẫn tệp gây ra lỗi và lệnh gọi hệ thống không thành công, chẳng hạn như `open`, `rename` hoặc `unlink`.

Lỗi `npm ERR! enoent` có liên quan đến việc npm không thể tìm thấy tệp hoặc thư mục cần thiết để chạy lệnh. Ví dụ: nếu bạn chạy `npm start` mà không có tệp `package.json` trong thư mục dự án của mình, bạn sẽ gặp lỗi sau:

“`bash

$ npm start

npm LỖI! mã ENOENT

npm ERR! tòa nhà chọc trời mở

npm ERR! đường dẫn/nsebhastian/Desktop/DEV/n-app/package.json

npm ERR! errno-2

npm ERR! enoent ENOENT: không có tệp hoặc thư mục như vậy, hãy mở ‘/nsebhastian/Desktop/DEV/n-app/package.json’

npm ERR! enoent Điều này liên quan đến việc npm không thể tìm thấy tệp.

npm ERR! enoent

“`

Thông báo lỗi cho chúng tôi biết rằng npm đã cố mở tệp `package.json` nhưng không thành công vì tệp này không tồn tại. Tệp `package.json` rất cần thiết để chạy các lệnh npm vì nó chứa siêu dữ liệu và tập lệnh cho dự án của bạn. Không có nó, npm không biết cách khởi động ứng dụng của bạn.

Cách khắc phục lỗi npm ERR! enoent?

Để khắc phục lỗi `npm ERR! enoent`, bạn cần đảm bảo rằng tệp hoặc thư mục mà npm đang tìm tồn tại và có thể truy cập được. Tùy thuộc vào lệnh bạn đang chạy, giải pháp có thể khác nhau. Dưới đây là một số tình huống phổ biến và cách khắc phục:

Tình huống 1: Chạy npm start mà không có package.json

Nếu bạn đang cố chạy `npm start` mà không có `package.json` trong thư mục dự án của bạn, bạn sẽ gặp lỗi `npm ERR! say mê`. Để khắc phục điều này, bạn cần tạo tệp `package.json` và thêm tập lệnh `start` vào tệp đó.

Bạn có thể tạo tệp `package.json` bằng cách chạy `npm init` và làm theo các lời nhắc. Ngoài ra, bạn có thể tạo tệp `package.json` cơ bản với nội dung sau:

“`json

{

  “name”: “n-app ”,

  “phiên bản”: “1.0.0”,

  “scripts”: {

    “start”: “node index.js”

    “start”: “node index.js”

  “version” p>

  }

}

“`

Đảm bảo thay thế các giá trị của `name`, `version` và `start` bằng của riêng bạn. Tập lệnh `start` phải trỏ đến điểm đầu vào của ứng dụng, chẳng hạn như `index.js`.

Sau khi tạo tệp `package.json`, bạn có thể chạy lại `npm start` và nó nên hoạt động.

Tình huống 2: Chạy cài đặt npm với node_modules hoặc package-lock.json bị hỏng

Nếu bạn đang cố chạy `npm install` để cài đặt các phần phụ thuộc cho dự án của mình, nhưng bạn gặp lỗi `npm ERR! enoent`, có thể là do thư mục `node_modules` hoặc tệp `package-lock.json` của bạn bị hỏng hoặc lỗi thời. Để khắc phục điều này, bạn cần xóa chúng và chạy lại `npm install`.

Bạn có thể xóa thư mục `node_modules` và tệp `package-lock.json` bằng cách chạy các lệnh sau:

“`bash

xóa các mô-đun nút và package-lock.json

rm-rf node_modules && rm package-lock.json

thử cài đặt lại phần phụ thuộc

cài đặt npm

“`

Thao tác này sẽ dọn sạch dự án của bạn và cài đặt phiên bản mới nhất của phần phụ thuộc.

Kịch bản 3: Chạy lệnh npm từ thư mục sai

Một nguyên nhân khác có thể gây ra lỗi `npm ERR! enoent` là bạn đang chạy lệnh npm từ thư mục sai. Ví dụ: nếu bạn chạy `npm start` từ thư mục mẹ hoặc con của dự án, thay vì thư mục gốc chứa tệp `package.json`, thì bạn sẽ gặp lỗi này.

Để sửa lỗi này, bạn cần thay đổi thư mục làm việc hiện tại thành thư mục gốc của dự án trước khi chạy bất kỳ lệnh npm nào. Bạn có thể thực hiện việc này bằng cách sử dụng lệnh `cd`:

“`bash

chuyển thư mục thành thư mục gốc của dự án

cd/nsebhastian/Desktop/DEV/n-app

chạy các lệnh npm từ đây

npm start

“`

Điều này sẽ đảm bảo rằng npm có thể tìm thấy `package.json` và thực thi các lệnh một cách chính xác.

Kết luận

Lỗi `npm ERR! enoent` có liên quan đến việc npm không thể tìm thấy tệp hoặc thư mục cần thiết để chạy lệnh. Để khắc phục lỗi này, bạn cần đảm bảo rằng tệp hoặc thư mục tồn tại và có thể truy cập được. Tùy thuộc vào lệnh bạn đang chạy, giải pháp có thể khác nhau. Một số tình huống phổ biến và cách khắc phục là:

– Chạy `npm start` mà không có tệp `package.json` trong thư mục dự án của bạn. Để khắc phục điều này, hãy tạo tệp `package.json` và thêm tập lệnh `start` vào tệp đó.

– Chạy `npm install` với thư mục `node_modules` hoặc tệp `package-lock.json` bị hỏng. Để khắc phục điều này, hãy xóa chúng và chạy lại `npm install`.

– Chạy các lệnh npm từ sai thư mục. Để khắc phục điều này, hãy thay đổi thư mục làm việc hiện tại của bạn thành thư mục gốc của dự án trước khi chạy bất kỳ lệnh npm nào.

Chúng tôi hy vọng bài viết này đã giúp bạn hiểu và khắc phục lỗi `npm ERR! say mê`. Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, vui lòng để lại nhận xét bên dưới. Chúc bạn viết mã vui vẻ!