[Laravel, Vue.js] npm run hotでEADDRINUSE/ELIFECYCLEエラー

カテゴリ: Laravel

発生した事象

Laravel7 + Vue.jsの開発で、npm run hotを実行したところ、EADDRINUSE / ELIFECYCLEエラーが発生し、ビルドが出来なかった。

$ npm run hot

> @ hot /.../project
> cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js
events.js:298
      throw er; // Unhandled 'error' event
      ^
Error: listen EADDRINUSE: address already in use 127.0.0.1:8080
Emitted 'error' event on Server instance at:
    at emitErrorNT (net.js:1336:8)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  code: 'EADDRINUSE',
  errno: -48,
  syscall: 'listen',
  address: '127.0.0.1',
  port: 8080
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ hot: `cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ hot script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/develop/.npm/_logs/2020-03-27T06_11_47_637Z-debug.log

原因

開発で使っていたmacでnginxが起動しておりport8080を占有していた。
(他に、SwaggerのサーバなどもPort8080をデフォルトで使用するため、こちらが原因の可能性もあり)

確認方法

curlで確認するとnginxが応答している。

$ curl -v http://localhost:8080/

...
< Server: nginx/1.17.9

psで確認すると、nginxのプロセスが起動している。

$ ps -ef | grep nginx
    0 20874     1   0  2:30PM ??         0:00.00 nginx: master process nginx
   -2 20875 20874   0  2:30PM ??         0:00.01 nginx: worker process
  501 29285 28791   0  3:16PM ttys001    0:00.00 grep nginx

対応

nginxを使ってなかったので終了したのち、npm run hotを再実行した。

$ sudo nginx -s stop

$ ps -ef | grep nginx
  501 29344 28791   0  3:17PM ttys001    0:00.01 grep nginx

$ npm run hot
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。