Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js npm start使用MongoDB和mongoose抛出ELIFECYCLE错误_Node.js_Mongodb_Express_Npm - Fatal编程技术网

Node.js npm start使用MongoDB和mongoose抛出ELIFECYCLE错误

Node.js npm start使用MongoDB和mongoose抛出ELIFECYCLE错误,node.js,mongodb,express,npm,Node.js,Mongodb,Express,Npm,我一直在遵循关于设置MongoDB服务器的指南。然而,我突然无法通过npm start启动localhost:3000。它加载后,运行大约5-10秒,然后我得到一个错误代码ELIFECYCLE。我尝试了其他人提到的每一个步骤,npm cache clean--force,npm install,删除package-lock.json文件,npm install after,删除节点模块。似乎没有什么能解决我的问题 这是我得到的调试日志: 0 info it worked if it ends w

我一直在遵循关于设置MongoDB服务器的指南。然而,我突然无法通过npm start启动localhost:3000。它加载后,运行大约5-10秒,然后我得到一个错误代码ELIFECYCLE。我尝试了其他人提到的每一个步骤,npm cache clean--force,npm install,删除package-lock.json文件,npm install after,删除节点模块。似乎没有什么能解决我的问题

这是我得到的调试日志:

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   'D:\\NodeJS\\node.exe',
1 verbose cli   'C:\\Users\\musta\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'start'
1 verbose cli ]
2 info using npm@6.14.4
3 info using node@v12.16.1
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle shopping-cart@0.0.0~prestart: shopping-cart@0.0.0
6 info lifecycle shopping-cart@0.0.0~start: shopping-cart@0.0.0
7 verbose lifecycle shopping-cart@0.0.0~start: unsafe-perm in lifecycle true
8 verbose lifecycle shopping-cart@0.0.0~start: PATH: C:\Users\musta\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;D:\Other\Projects\Code\Powershell\shopping-cart\node_modules\.bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\dotnet\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;D:\NodeJS\;C:\Users\musta\AppData\Local\Microsoft\WindowsApps;C:\Users\musta\AppData\Roaming\npm
9 verbose lifecycle shopping-cart@0.0.0~start: CWD: D:\Other\Projects\Code\Powershell\shopping-cart
10 silly lifecycle shopping-cart@0.0.0~start: Args: [ '/d /s /c', 'node ./bin/www' ]
11 silly lifecycle shopping-cart@0.0.0~start: Returned: code: 1  signal: null
12 info lifecycle shopping-cart@0.0.0~start: Failed to exec start script
13 verbose stack Error: shopping-cart@0.0.0 start: `node ./bin/www`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (C:\Users\musta\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:311:20)
13 verbose stack     at ChildProcess.<anonymous> (C:\Users\musta\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:311:20)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid shopping-cart@0.0.0
15 verbose cwd D:\Other\Projects\Code\Powershell\shopping-cart
16 verbose Windows_NT 10.0.18363
17 verbose argv "D:\\NodeJS\\node.exe" "C:\\Users\\musta\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "start"
18 verbose node v12.16.1
19 verbose npm  v6.14.4
20 error code ELIFECYCLE
21 error errno 1
22 error shopping-cart@0.0.0 start: `node ./bin/www`
22 error Exit status 1
23 error Failed at the shopping-cart@0.0.0 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
这些问题是否相关?我已经搜索了github和stackoverflow以及youtube指南上的评论,但似乎找不到问题所在


任何帮助都将不胜感激,谢谢

因此,对于第二个问题,您只需要在根文件中安装一个
middleware
依赖项
body解析器
,然后添加以下代码

//Middlewares for bodyParser
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());

当您向MongoDB引入查询时,似乎出现了错误。确保数据库已启动并准备就绪。@AlexisPavlidis当我启动mongoDB服务器(./mongod)时,它现在似乎没有关闭本地主机,我觉得这很奇怪,因为它以前不需要它,但感谢您指出这一点。现在,我尝试使用npm start,它是我在调试日志下发布的index.js文件的第一个代码段,并收到一条新消息:throw new TypeError('Router.use()需要一个中间件函数,但得到了一个'+gettype(fn))^TypeError:Router.use()需要一个中间件函数,但得到了一个对象。我要添加整个代码段吗?来自/中间商?在哪个文件里?我猜app.js文件是对的?添加了它,这就是我得到的
app.use(bodyParser.urlencoded({extended:false}));^ReferenceError:bodyParser未定义
install
npm i body parser
并且在您的
app.js
文件中将其导入为
const bodyParser=require('body-parser')和上面的代码修复了它,我忘记或删除了“module.exports=router;”在页面底部,感谢大家的帮助!你能在问题中发布你的
app.js
文件吗?好的!!
var express = require('express');
var router = express.Router();
var Product = require('D:/Other/Projects/Code/Powershell/shopping-cart/models/product');

/* GET home page. */
router.get('/', function(req, res, next) {
  var products = Product.find();
  res.render('shop/index.hbs', { title: 'Shopping Cart', products });
});


module.exports = router;
//Middlewares for bodyParser
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());