Lỗi: ENOENT: không có tệp hoặc thư mục như vậy, scandir


83

Tôi dựng ứng dụng bằng jhipster là cổng microservice sử dụng cassandra db và sử dụng maven để xây dựng, ứng dụng đang được xây dựng tốt sau giàn giáo. Tôi đã chạy lệnh gulp để tải lại trực tiếp ui.

tôi đã thực hiện một sự thay đổi trong thanh điều hướng và trang chủ của nó. đó cũng là tệp đang hoạt động & thực hiện một số thay đổi trong tệp json của home & navbar và thực hiện một số thay đổi nhỏ như thêm hộp tìm kiếm và khác.

nó không thể tải lại. Tôi dừng lại và khởi động lại chúng. maven đang xây dựng nhưng lại không tải trang web trong localhost

khi tôi chạy gulp nó hiển thị cho tôi lỗi này.

 gulp
fs.js:952
  return binding.readdir(pathModule._makeLong(path), options.encoding);
                 ^

Error: ENOENT: no such file or directory, scandir '/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/vendor'
    at Error (native)
    at Object.fs.readdirSync (fs.js:952:18)
    at Object.getInstalledBinaries (/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/lib/extensions.js:121:13)
    at foundBinariesList (/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/lib/errors.js:20:15)
    at foundBinaries (/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/lib/errors.js:15:5)
    at Object.module.exports.missingBinary (/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/lib/errors.js:45:5)
    at module.exports (/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/lib/binding.js:15:30)
    at Object.<anonymous> (/home/hartron/foodnetteam/codebase/mandi/node_modules/node-sass/lib/index.js:14:35)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)

Bất cứ ai có thể cho tôi biết giải pháp cho điều này


Phiên bản nào của nút? node -v
Gaël Marziou 22/07/17

tôi đang sử dụng phiên bản 6.11.1 nút
Dhiresh Budhiraja

Câu trả lời:


216

Đôi khi tôi cũng gặp lỗi này khi khởi động máy chủ gulp của mình. Cách giải quyết của tôi là chỉ chạy:

npm rebuild node-sass

Và sau đó nuốt nước bọt bắt đầu ngon lành sau đó.


1
Tôi gặp phải lỗi tương tự khi cố gắng chạy trang web KeystoneJS với $ node keystonevà giải pháp của bạn đã giải quyết được lỗi. Cảm ơn
user3405291

Tôi gặp lỗi 'Lỗi: ENOENT: không có tệp hoặc thư mục nào, scandir' ** / node_modules / node-sass / nhà cung cấp ', giải pháp này đã giúp tôi giải quyết vấn đề đó. Cảm ơn.
Gunarathinam

1
Cảm ơn. Tôi gặp vấn đề tương tự trong dự án Angular và được giải quyết bằng lệnh này. "Cài đặt npm" mới không thể sửa lỗi của tôi. Có vẻ như một vấn đề trong phiên bản "node-sass" cũ. github.com/sass/node-sass/issues/1918
Jie,

2
Tôi trường hợp của tôi (trong linux), nó là cần thiết để trình cài đặt-tải trước "nodejs node_modules / node-sass / scripts / install.js", sau đó xây dựng lại
Lexa-b

1
điều này đã làm việc cho tôi. Tôi đang sử dụng webpack và tôi vẫn braintree-dropin khi mọi thứ ngừng hoạt động! Cảm ơn bạn!
Osama Ibrahim

23

Đây là những gì làm việc cho tôi

$npm update
$npm install
$node node_modules/node-sass/scripts/install.js
$npm rebuild node-sass

2
công trình này đối với tôi, ngoại trừ trên dòng 3 tôi đã thay thế "nodejs" chỉ với "nút"
dân làng

tập lệnh cài đặt trước không được thực thi trong khi cài đặt. hoạt động cho tôi quá. vừa được thay thế bằng thư mục cài đặt toàn cầu :)
Mukundhan

3
node node_modules / node-sass / scripts / install.js cũng hoạt động.
vr_driver

nếu vì lý do nào đó trước đó bạn đã chạy: npm config set ignore-scripts true thì liên kết nút sẽ không được cài đặt. Đây là vấn đề của tôi và đang chạy: đã node node_modules/node-sass/scripts/install.js khắc phục sự cố của tôi
Morten Elmholt Bak

vâng. @Vr_driver đã nói gì. Chạy chỉ node node_modules/node-sass/scripts/install.jslàm việc cho tôi Cảm ơn vì điều này!
Ariella

3

Một số tệp có thể không có sẵn trong phiên bản cục bộ của NodeJS và đôi khi NodeJS không gửi thông báo về nó. Trong trường hợp --forcenày là hữu ích.

npm install node-sass --force

hoặc là

npm rebuild node-sass --force

3

Đối với trường hợp của tôi, nó chỉ hữu ích sau khi thực hiện lệnh này:

node node_modules/node-sass/scripts/install.js

Và sau đó sẽ có /node_modules/node-sass/vendorthư mục


2

Đó là một vấn đề với phiên bản cũ hơn của node-sass. Nó không tạo ra vendor foldertrong node_modules/node-sass. Tôi đã cập nhật phiên bản của node-sass và nó hoạt động tốt đối với tôi.

Phiên bản node-sass cũ của tôi là 3.1.0

Tôi chỉ đơn giản làm:

npm cài đặt node-sass@3.7.0

Điều này cũng sẽ giải quyết vấn đề của bạn.


1

Đảm bảo rằng bạn có tệp config.json. Sau đó làm npm installnpm start .

Điều này có thể gây ra lỗi này nếu bạn không có tệp cấu hình này.


0

Thư mục nhà cung cấp được tạo trong quá trình cài đặt npm. Hãy thử xóa node_modules của bạn và chạy npm install.



0

Không cần phải xóa các mô-đun nút, do phiên bản trình tải sass của bạn khác

  1. Xóa package-lock.json
  2. npm gỡ cài đặt node-sass --save
  3. npm i node-sass --save

0

Tôi vừa sửa lỗi này. Đó là vì tôi đã cố gắng chạy dự án từ sai thư mục.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.