Eme*_*bah 32 mongodb node.js npm
我有一个Nodejs Web应用程序当前正在服务器上成功运行.现在我正在尝试在我的开发服务器上设置本地副本.
我目前有Nodejs,NPM和Mongo安装就像我在生产服务器中安装的那样但是当我尝试启动节点服务器时出现以下错误
什么可能导致这个问题?
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$
Run Code Online (Sandbox Code Playgroud)
Tro*_*ott 34
您的应用程序希望找到一个文件,/home/embah/node/nodeapp/config/config.json但该文件不存在(这ENOENT意味着什么).因此,您需要创建预期的目录结构,或者配置您的应用程序,使其在正确的目录中查找config.json.
小智 13
92% 额外的资产处理脚本-webpack-plugin × ?wdm?: Error: ENOENT: no such file or directory, open....==> 如果有人遇到这样的错误,你应该做以下事情:1) 你应该检查如果文件路径在 angular.json 文件中正确。
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/bootstrap/dist/js/bootstrap.js"
],
Run Code Online (Sandbox Code Playgroud)
2) 你应该按 crtl+c 并重新运行项目。
Niv*_*Niv 12
如果您在项目中使用 Express.js 时遇到相同的错误,这对我有用:
在我的项目中,当我运行 Express.js 应用程序时,我注意到当前工作目录是项目的根目录(当我尝试读取位于脚本目录中的文件时)。自 以来它无法运行该文件process.cwd() !== __dirname。
您可以查看它并process.cwd()在控制台中登录您尝试读取 JSON 文件的脚本。
我刚刚将路径更改为:
const fs = require('fs');
fs.readFileSync(`${__dirname}\\FILENAME`);
Run Code Online (Sandbox Code Playgroud)
Ani*_*dey 10
@olleh答案有效,因为npm install它将node_modules在执行它的当前路径中创建一个目录。因此,在使用文件服务器系统模块时,下面的声明从node_modules.
const fs = require('fs')
Run Code Online (Sandbox Code Playgroud)
小智 9
在经历了如此多的链接和线程并一遍又一遍地感到沮丧之后,我开始了基础工作和繁荣!它有所帮助。我只是做了:
npm install
Run Code Online (Sandbox Code Playgroud)
我不知道,但这可能会帮助某人:)
在我的情况下,问题是由于使用从脚本执行的目录而不是项目的根目录开始的文件路径引起的。
我的目录结构是这样的:projectfolder/ ??? 包.json ??? 脚本文件夹/ ? ???我的脚本.js
我打电话fs.createReadStream('users.csv')而不是正确的fs.createReadStream('scriptFolder/users.csv')
就我而言,问题发生在我从 Git 分支切换到另一个分支之后,对一些旧文件的引用仍然保留在“node_modules/.cache”目录内的脚本中。
删除“node_modules”、“build”目录和“package-lock.json”文件,然后发出“npm install”命令已经解决了我的问题。
小智 5
如果没有任何布局文件夹,只需在路由中像这样使用它:
app.get('/', (req, res) => {
res.render('something', { layout: false });
})
Run Code Online (Sandbox Code Playgroud)
在这里更改您的文件夹名称。
| 归档时间: |
|
| 查看次数: |
99173 次 |
| 最近记录: |