How to resolve Nodejs: Error: ENOENT: no such file or directory

我有一个 Nodejs 网络应用程序目前运行在服务器上成功。现在,我尝试在我的开发服务器上设置一个本地副本。

I currently have Nodejs, NPM and Mongo Installed just like what I have in production server however the error below occurs when I try to start node server

Whats could be causing this issue?

embah@devsertwo:~/node/nodeapp$ node app.js
fs.js:640
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^


Error: ENOENT: no such file or directory, open '/home/embah/node/nodeapp/config/c
onfig.json'
at Error (native)
at Object.fs.openSync (fs.js:640:18)
at Object.fs.readFileSync (fs.js:508:33)
at Object.<anonymous> (/home/embah/node/nodeapp/config/config.js:4:28)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/home/embah/node/glorby/app.js:13:16)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
embah@devsertwo:~/node/nodeapp$
621984 次浏览

您的应用程序希望在 /home/embah/node/nodeapp/config/config.json找到一个文件,但该文件不存在(这就是 ENOENT的意思)。因此,您要么需要创建预期的目录结构,要么需要配置应用程序,使其在 config.json的正确目录中进行查找。

我也有这个问题,因为我有另一个控制台窗口打开,运行应用程序,我试图重新运行纱开始在另一个控制台窗口。

第一个纱线的执行阻止了第二个纱线的写入,所以我只需要杀死第一个进程,它就可以工作了

在经历了这么多的链接和线程,并一次又一次地感到沮丧之后,我回到了基础和繁荣!很有帮助。我就这么做了:

npm install

我不知道,但可能对某人有帮助:)

Its happened with me. I deletes some css files by mistake and then copied back. This error appeared at that time. So i restart all my dockers and other servers and then it went away, Perhaps this help some one :)

In my case

import { Object } from '../config/env';

给了我错误。

我把地址改成这样就解决了:

import { Object } from './../config/env';

@ olleh 回答起作用了,因为 npm install将在执行它的当前路径中创建一个 node_modules目录。因此,在使用 文件服务器系统模块时,下面的声明将从 node_modules的顶级目录中定位文件。

const fs = require('fs')

92% 的额外资产处理脚本-webpack-plugin × 「 wdm 」 : 错误: ENOENT: 没有这样的文件或目录,打开... . = = > 如果有人面临这样的错误,你应该做以下事情: 1)您应该检查 angular.json 文件中的文件路径是否正确。

 "scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/bootstrap/dist/js/bootstrap.js"
],

2)你应该按下 crtl + c,然后重新运行这个项目。

跑步

npm run scss
npm run start

按照这个顺序,终端为我解决了这个问题。

In my case, the issue occurred after I switched from a git branch to another, references to some old files remained in the scripts inside "node_modules/.cache" directory.
Deleting "node_modules", "build" directories and "package-lock.json" file then issuing "npm install" command has fixed the issue for me

我尝试了一些东西,得到了这个错误错误: ENOENT: 没有这样的文件或目录,打开’D: 网站 Nodemailer Nodemailer-应用程序视图布局 main.handlebar’

The fix I got was to literally construct the directory as it is seen. This means labeling the items exactly as shown, It is weird that I gave the computer what it wants.

我通过在得到错误的位置创建一个空白文件来解决这个错误。如果目录出现错误,也可以尝试创建空目录。一切顺利。

在我的例子中,问题是由于使用了从脚本执行的目录开始的文件路径,而不是从项目的根目录开始。

我的目录结构是这样的: Project 文件夹/ 派奇,派奇,杰森 ├── scriptFolder/ │切尔诺贝利ーー myScript.js

我打的是 fs.createReadStream('users.csv')而不是正确的 fs.createReadStream('scriptFolder/users.csv')

如果没有布局文件夹,只需像这样使用您的路由:

app.get('/', (req, res) => {
res.render('something', { layout: false });
})

在这里改变一些与您的文件夹名称,希望它会修复您的错误。

我在系统级别上添加了 PM2 _ HOME 环境变量,现在它工作正常了。

[这是 multer github 上的一个有用链接][1]

但是对我来说,我必须在服务器文件夹中创建一个公用文件夹,它也是 like-cb (null,‘ public/’)。 返回文章页面【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟科普】【一分钟

我在创建一个插件时遇到了 ng-package.json文件的这个问题。我发现我在 angular.json中提供了错误的路径。修正了我的文件路径,问题解决了。

可能对某人有帮助。

确保您的 angular.json 文件具有如下 (适用于角度12及以上)所示的“ style”和“ script”数组:

"styles": [
"src/styles.css",
"./node_modules/bootstrap/dist/css/bootstrap.css"
],
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/bootstrap/dist/js/bootstrap.js"
]

完成后,按 CTRL + C,然后按 ng 服务

如果使用类型脚本编写代码,请记住,传输的 JS 文件夹是 JS 搜索您的文件的地方,并且肯定无法找到您的 html 文件; 因此会出现这样的错误。因此,您需要将该文件复制到 transiledJS 文件夹中才能找到它。

我不知道是否有人会看到这个,但我会说出我的答案
First you need to be in the app directory that you created with following command:

npx create-react-app [app-name]

下一站:

sudo npm install

来安装所有依赖项

包裹 Json

然后跑:

sudo npm start

并确保使用 sudo命令运行它们,因为有时这是绝对必要的。

如果您在项目中使用 Expres.js 时出现了相同的错误,那么这个方法对我很有效:

在我的项目中,当我运行一个 Express 应用程序时,我注意到当前的工作目录是项目的根目录(当我试图读取一个位于脚本目录中的文件时)。 It could not run the file since process.cwd() !== __dirname.

您可以检查它,并在尝试读取 json 文件的脚本中记录控制台日志 process.cwd()

我只是改变了路径:

const fs = require('fs');
fs.readFileSync(`${__dirname}\\FILENAME`);

我有一个节点版本不匹配,通过 nvm 安装正确的节点版本工作

我使用 vsc、 git 和 nrwl,经常遇到 vsc 执行自动登台的问题。与 nrwl 相结合常常会出现问题。简单地卸载 vsc 中的文件通常会有所帮助。

奇怪的是,在我的项目中,我总是在第一次添加/删除包时得到这个错误,但是当我再次运行相同的命令时,它却是 在第二次运行时起作用

在从项目中卸载 Bootstrap 时出现了这个错误,所以我只是删除了 angular.json 中的脚本和样式

"styles": [
"node_modules/bootstrap/dist/css/bootstrap.min.css"
],
"scripts": [
"node_modules/jquery/dist/jquery.min.js"
]

已经批准了

"styles"  : [    ],
"scripts" : [    ]

这解决了我的问题。

我的错误是没有在路径之前添加 /。正确的路径: /Users/mee/Documents/file_name.jpg

有时您会在下面的场景中看到这个问题。

让我们假设您有一个类似于 node-projects (folder) > my-blog (folder) > my-blog (folder where the actual project exists)的文件夹结构,但是您在 my-blog中直接是 node-project的一个直接子目录,并尝试在该目录中运行您的命令。

As the project is present in my-blog that is an immediate child of my-blog. So, in this case, it searches your config.json file in my-blog (which is an immediate child of node-projects) rather than finding the config.json file in my-blog that is an immediate child of my-blog

只要在你的终端中点击命令 cd my-blog转移你的目录,问题就解决了!

谢谢