LoginSignup
15
11

More than 5 years have passed since last update.

Nuxt.jsでnpm run dev した時にポートの競合を回避する

Posted at

表題通りです。
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
15
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
11