Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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 在ctrl+;C_Node.js_Heroku_Npm - Fatal编程技术网

Node.js 在ctrl+;C

Node.js 在ctrl+;C,node.js,heroku,npm,Node.js,Heroku,Npm,我与heroku启动了一个新的socket.io项目。服务器在windows上本地运行良好。我用npm start启动它,但当我用ctrl+c关闭它时,我在控制台中出现以下错误: npm ERR! Windows_NT 6.3.9600 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\ node_modules\\npm\\bin\\npm-cli.js" "start" npm ER

我与heroku启动了一个新的socket.io项目。服务器在windows上本地运行良好。我用npm start启动它,但当我用ctrl+c关闭它时,我在控制台中出现以下错误:

npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\
node_modules\\npm\\bin\\npm-cli.js" "start"
npm ERR! node v6.11.4
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! test1@1.0.0 start: `node index.js`
npm ERR! Exit status 3221225786
npm ERR!
npm ERR! Failed at the test1@1.0.0 start script 'node index.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the test1 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node index.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs test1
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls test1
npm ERR! There is likely additional logging output above.
我一直在寻找解决办法,但我所能找到的很少一点办法都没有解决。我尝试过更新npm和节点,再次运行npm安装,清除npm缓存,可能还有一些我记不起的其他操作

这是我的index.js

const express = require('express');
const socketIO = require('socket.io');
const path = require('path');

const PORT = process.env.PORT || 3000;

const server = express()
  .use(express.static(__dirname + '/client'))
  .listen(PORT, () => console.log(`Listening on ${ PORT }`));

const io = socketIO(server);

const pg = require('pg');
var connectionString = "postgres://jdirjtnfueksiw:823e80fbae9599f0d6797f82342d83bccf1caea764b8a1659356f3ee89r69f94@ec1-78-222-138-451.compute-1.amazonaws.com:5432/jf84jd75jgu26d5?ssl=true";

pg.connect(connectionString, function(err, client, done) {
    if (err) {
        throw err;
    }
    else {
        console.log('Database connection test successful');
    }
});

io.on('connection', function (socket) {
        socket.emit('connected');

        console.log('New connection from ' + socket.request.connection.remoteAddress);

        socket.on('disconnect', function () {
            console.log('Player left');
        });
    });
mypackage.json

{
  "name": "test1",
  "version": "1.0.0",
  "engines": {
    "node": "6.11.4"
  },
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "pg": "6.x",
    "express": "4.13.4",
    "socket.io": "1.4.6"
  },
  "devDependencies": {},
  "description": ""
}

谢谢您的帮助。

index.js
中,您可以尝试输入以下代码:

process.on('SIGINT', () => {
    process.exit();
});
我认为问题在于Ctrl+C终止了应用程序,但仍有一些进程在后台运行。这将确保它被终止


希望这有帮助

我也看到了同样的事情。并不是每次都发生。我使用的不是
socket.io
,而是
express
。我不认为这是一个大问题,但似乎有一些信号我们(表达?)没有正确处理。让我们看看悬赏是否能帮助我们找到答案尝试一下。。。。如果成功的话,我会给你赏金的!深入研究,但人们建议,仅仅调用
process.exit()
实际上并不能正常关闭Express…这方面似乎有一些Express文档: