错误:ENOENT:没有这样的文件或目录,scandir


83

我使用jhipster搭建了一个应用程序,该应用程序是使用cassandra db的微服务网关,并使用maven进行了构建,在scaffold.i跑了gulp命令到ui的实时重载之后,它的构建就很好了。

我在导航栏和主页上进行了更改。这也是工作文件,并对home和navbar的json文件进行了一些更改,并做了一些小的更改,例如添加了搜索框等。

无法重新加载。我停止吞咽和行家&重新启动它们。Maven正在构建,但再次没有在本地主机中加载网站

当我大口吃时,它显示了这个错误。

 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)

谁能告诉我解决方案


哪个版本的节点?节点-v
GAEL Marziou

我正在使用节点版本6.11.1
Dhiresh Budhiraja

Answers:


216

启动gulp服务器时,有时也会出现此错误。我的解决方法是直接运行:

npm rebuild node-sass

然后大口喝就开始了。


1
尝试使用来运行KeystoneJS网站时$ node keystone,我收到了相同的错误,而您的解决方法已解决了该错误。谢谢
user3405291

我收到错误消息“错误:ENOENT:没有这样的文件或目录,scandir'** / node_modules / node-sass / vendor”,此解决方案帮助我解决了该问题。谢谢。
Gunarathinam

1
谢谢。我在Angular项目中遇到了同样的问题,并通过此命令解决了。新的“ npm安装”无法修复我的错误。在旧的“ node-sass”版本中似乎存在问题。github.com/sass/node-sass/issues/1918

2
以我为例(在Linux中),有必要预下载安装程序“ nodejs node_modules / node-sass / scripts / install.js”,然后进行重建
lexa-b

1
这对我有用。我正在使用webpack,并且当一切停止工作时,我仍然会绞尽脑汁!谢谢!
乌萨马·易卜拉欣

23

这对我有用

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

2
这对我有用,除了第3行,我只用“ node”替换了“ nodejs”
村民

安装时不执行预安装脚本。也为我工作。只是替换为全局安装目录:)
Mukundhan

3
节点node_modules / node-sass / scripts / install.js也可以使用。
vr_driver

如果您由于某种原因先前已经运行: npm config set ignore-scripts true 那么将不会安装节点绑定。这是我的问题,并且正在运行: node node_modules/node-sass/scripts/install.js 解决了我的问题
Morten Elmholt Bak

没错 @vr_driver说了什么。跑步node node_modules/node-sass/scripts/install.js对我很有效谢谢!
Ariella

3

某些文件可能在NodeJS的本地版本中不可用,有时NodeJS不会发送有关它的消息。在这种情况下--force很有帮助。

npm install node-sass --force

要么

npm rebuild node-sass --force

3

就我而言,它仅在执行以下命令后才有帮助:

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

然后会有/node_modules/node-sass/vendor文件夹


2

较旧版本的node-sass。它不会vendor folder在中创建node_modules/node-sass。我已经更新了node-sass的版本,对我来说效果很好。

我的旧版本的node-sass是 3.1.0

我只是做了:

npm安装node-sass@3.7.0

这也应该解决您的问题。


1

确保您具有config.json文件。然后执行npm installnpm start

如果您没有此配置文件,则可能会出现此错误。




0

无需删除节点模块,因为您的sass-loader版本不同

  1. 删除package-lock.json
  2. npm卸载node-sass --save
  3. npm i node-sass-保存

0

我只是解决了这个错误。这是因为我试图从错误的文件夹中运行项目。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.