Когда я запускаю yarn dev, он запускает nodemon через сценарий запуска. Когда мой express сервер запущен и работает, если я Ctrl + C
на нем, попробуйте снова запустить yarn dev, я получаю:
Error: bind EADDRINUSE null:3000
at listenOnMasterHandle (net.js:1380:18)
at rr (internal/cluster/child.js:132:12)
at Worker.<anonymous> (internal/cluster/child.js:99:7)
at process.onInternalMessage (internal/cluster/utils.js:47:8)
at process.emit (events.js:327:22)
at emit (internal/child_process.js:906:12)
at processTicksAndRejections (internal/process/task_queues.js:85:21)
Emitted 'error' event on Server instance at:
at listenOnMasterHandle (net.js:1381:21)
at rr (internal/cluster/child.js:132:12)
[... lines matching original stack trace ...]
at processTicksAndRejections (internal/process/task_queues.js:85:21) {
errno: -48,
code: 'EADDRINUSE',
syscall: 'bind',
address: null,
port: 3000
}
![enter image description here](https://i.stack.imgur.com/yWiDJ.jpg)
Here it is running the first time I fire it up after say I reboot my machine and there are no processes running yet:
![enter image description here](https://i.stack.imgur.com/EYzdw.jpg)
The only way I can manually kill it and temporarily move on is to use pkill node.
lsof -i :3000 -t | xargs kill` doesn't work.
If I then Ctrl + C then run yarn dev I get:
введите описание изображения здесь Вот мои скрипты
"start": "PORT=3000 nodemon --trace-warnings dist/server/server.js",
"build": "NODE_ENV=production webpack -p --env=prod --watch && yarn compile-server && yarn start",
"dev": "NODE_ENV=development yarn lint && yarn copyData && yarn compile-server && yarn start & webpack-dev-server",
"compile-server": "tsc -b ./src/server",
"copyData": "mkdir -p dist/shared/data && cp src/shared/data/companies.json dist/shared/data && cp src/shared/data/countries.json dist/shared/data",
server.ts const app = require ('./ api. js');
const cluster = require('cluster'),
os = require('os'),
port = process.env.PORT || 3000;
if (cluster.isMaster) {
for (let i = 0; i < os.cpus().length; i++) {
cluster.fork();
}
console.log('Ready on port %d', port);
} else {
app.listen(port, (err: string) => {
console.log(`express is listening on port ${port}`);
if (err) {
console.log('server startup error');
console.log(err);
}
});
}