表題通りです。
Nuxt.jsを使い始めたのですが、よーしnpm run devして動かしてみるぞ!って思った時にこんなことがあったので備忘録として。
そして、誰かの役に立てばいいなあ。
問題発生
https://blog.frevo-works.co.jp/entry/2018/09/27/154355
を参考にNuxt.jsの環境を整えて、
npm run dev
を実行!
Error: listen EADDRINUSE 127.0.0.1:3000at Server.setupListenHandle [as _listen2] (net.js:1345:14)
at listenInCluster (net.js:1386:12)
at GetAddrInfoReqWrap.doListen [as callback] (net.js:1501:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:72:10)
Emitted error event at:
at emitErrorNT (net.js:1365:8)
at process._tickCallback (internal/process/next_tick.js:114:19)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! client@1.0.0 dev: nuxt
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the client@1.0.0 dev 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:
よくわからないエラーが出てrunできません。
あと一息なのに…
解決策①使われているportのプロセスを停止して奪う
これはNuxt.jsがデフォルトで使用するport3000番が他のアプリケーションで使われているから起こるみたいです。
そこでポートが使われていないかチェックしてみます。
sudo lsof -i:3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 38708 ◼︎◼︎◼︎◼︎ 14u IPv4 ◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎ 0t0 TCP localhost:hbci (LISTEN)
と返ってきました。
PID38708が使用していることがわかります。
なので、
kill 38708
を実行し
npm run dev
をもう一度実行すると今度は立ち上がります。
解決策②Nuxt.jsのデフォルト使用ポートを変更する
package.jsonを開きます。
package.json(変更前)
"scripts": {
"dev": "nuxt ",
"build": "nuxt build",
"start": "nuxt start",
"generate": "nuxt generate",
"lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
"precommit": "npm run lint"
},
package.json(変更後)
"scripts": {
"dev": "nuxt --port [使いたいポート番号]",
"build": "nuxt build",
"start": "nuxt start",
"generate": "nuxt generate",
"lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
"precommit": "npm run lint"
},
に変更しnpm run devを実行。
できた!
INFO Building project
✔ success Builder initialized
✔ success Nuxt files generated
Compiling
READY Listening on http://localhost:3332