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

Posted

技术标签:

【中文标题】错误:ENOENT:没有这样的文件或目录,scandir【英文标题】:Error: ENOENT: no such file or directory, scandir 【发布时间】:2017-12-28 07:56:37 【问题描述】:

我使用 jhipster 搭建了一个应用程序,它是使用 cassandra db 的微服务网关,并使用 maven 构建,在脚手架后构建良好。我运行 gulp 命令来实时重新加载 ui。

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

重新加载失败。我停止 gulp & maven 并重新启动它们。 maven 正在构建,但再次没有在 localhost 中加载站点

当我运行 gulp 时,它显示了这个错误。

 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 我使用的是节点版本 6.11.1 【参考方案1】:

我有时在启动 gulp 服务器时也会收到此错误。我的解决方法是运行:

npm rebuild node-sass

然后 gulp 很好地开始了。

【讨论】:

我在尝试使用$ node keystone 运行KeystoneJS 网站时收到相同的错误,您的解决方法解决了该错误。谢谢 我得到了错误'错误:ENOENT:没有这样的文件或目录,scandir'**/node_modules/node-sass/vendor',这个解决方案帮助我解决了它。谢谢。 谢谢。我在 Angular 项目中遇到了同样的问题,并通过这个命令解决了。新的“npm install”无法修复我的错误。旧的“node-sass”版本似乎有问题。 github.com/sass/node-sass/issues/1918 我的情况(在linux中),有必要预先下载安装程序“nodejs node_modules/node-sass/scripts/install.js”然后重建 这对我有用。我正在使用 webpack,但当一切都停止工作时,我仍然在使用braintree-dropin!谢谢!【参考方案2】:

这对我有用

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

【讨论】:

这对我有用,除了在第 3 行我用“node”替换了“nodejs” 安装时不执行预安装脚本。也为我工作。刚刚替换为全局安装目录:) node node_modules/node-sass/scripts/install.js 也可以。 如果你之前因为某种原因运行过:npm config set ignore-scripts true,那么节点绑定将不会被安装。这是我的问题,正在运行:node node_modules/node-sass/scripts/install.js 解决了我的问题 是的。 @vr_driver 说了什么。只运行node node_modules/node-sass/scripts/install.js 为我工作谢谢!【参考方案3】:

就我而言,只有在执行此命令后才会有所帮助:

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

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

【讨论】:

【参考方案4】:

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

npm install node-sass --force

npm rebuild node-sass --force

【讨论】:

【参考方案5】:

我刚刚修复了这个错误。这是因为我试图从错误的文件夹运行项目。

【讨论】:

【参考方案6】:

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

我的旧版本 node-sass 是 3.1.0

我只是做了:

npm install node-sass@3.7.0

这也应该可以解决您的问题。

【讨论】:

【参考方案7】:

重建 node-sass 或者只是重新安装所有东西,以防 node-sass 重建不起作用。

npm rebuild node-sass

rm -rf node_modules && npm install

npm rebuild

npm ci

或 只需手动删除 node_modules 和 package-lock.json 并运行 npm i

【讨论】:

【参考方案8】:

vendor 目录是在 npm 安装期间创建的。尝试删除您的 node_modules 并运行npm install

【讨论】:

【参考方案9】:

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

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

【讨论】:

【参考方案10】:
    从 node\npm-cache 中删除 node-sass 文件夹 npm 重建 node-sass

【讨论】:

【参考方案11】:

我做了下面的代码,

sudo npm rebuild node-sass
mvn clean install

【讨论】:

MVN?它适用于节点还是java!【参考方案12】:

用新版本更新你在 package.json 中的 gulp-sass

"gulp-sass": "3.1.0" // 3.1.0 or later 

这是我关注的链接https://github.com/dlmanning/gulp-sass/issues/508

【讨论】:

【参考方案13】:

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

    删除 package-lock.json npm 卸载 node-sass --save npm i node-sass --save

【讨论】:

以上是关于错误:ENOENT:没有这样的文件或目录,scandir的主要内容,如果未能解决你的问题,请参考以下文章

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

错误:ENOENT:没有这样的文件或目录,在进行 Yarn 安装时使用 lstat

ENOENT:没有这样的文件或目录。?

反应本机调试器:“错误:ENOENT:没有这样的文件或目录”

错误:ENOENT:没有这样的文件或目录,打开 './views/s.ejs' Nodejs Express

node.js - 错误:ENOENT:没有这样的文件或目录,取消链接