错误: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 install
和npm 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:没有这样的文件或目录”