VSCodeのポート番号完全ガイド|設定・変更・トラブル解決

プログラミング・IT

「VSCodeでポート番号5500がすでに使用中と表示される…」
「デバッグ時のポート番号を変更したい」
「スマホからローカルサーバーにアクセスできない」

Visual Studio Code(VSCode)で開発をしていると、「ポート番号」に関する設定や問題に遭遇することがあります。特にLive Serverやデバッグ機能を使う際、ポート番号の理解は欠かせません。

この記事では、VSCodeにおけるポート番号の基本から、具体的な設定方法、トラブル解決まで、初心者にもわかりやすく詳しく解説します。

スポンサーリンク

ポート番号とは?

ポート番号の基本概念

ポート番号とは、コンピュータ上で動作する複数のプログラムを識別するための番号です。

わかりやすい例え:

  • IPアドレス = マンションの住所
  • ポート番号 = マンションの部屋番号

同じIPアドレス(localhost/127.0.0.1)でも、異なるポート番号を使うことで、複数のWebサーバーやアプリケーションを同時に動作させることができます。

ポート番号の範囲

ポート番号は0〜65535の範囲で指定できます。

ポート番号の分類:

範囲名称説明
0〜1023ウェルノウンポートHTTP(80)、HTTPS(443)など、標準的なサービスで使用
1024〜49151登録済みポート特定のアプリケーション用に登録されたポート
49152〜65535動的ポート一時的な接続に使用される

開発でよく使うポート番号:

  • 3000: Node.js開発サーバー(Create React App、Expressなど)
  • 5000: Flaskデフォルトポート(Python)
  • 5500: Live Serverデフォルトポート(VSCode拡張機能)
  • 8000: Djangoデフォルトポート(Python)
  • 8080: 代替HTTPポート

VSCodeでポート番号が関係する場面

VSCodeで開発する際、ポート番号が関係する主な場面は以下の通りです。

1. Live Serverなどの拡張機能

  • HTMLプレビュー用のローカルサーバーを起動
  • デフォルトはポート5500

2. デバッグ機能

  • アプリケーションのデバッグ時に使用
  • launch.jsonで設定

3. ポート転送(Port Forwarding)

  • ローカルサーバーを外部からアクセス可能にする
  • リモート開発やスマホからの確認に便利

4. 開発サーバー

  • npm run start、python manage.py runserverなど
  • フレームワークごとにデフォルトポートが異なる

Live Serverのポート番号設定

Live Serverは、VSCodeで最も人気のあるHTMLプレビュー拡張機能です。

デフォルトポート番号

Live Serverのデフォルトポート番号は5500です。

起動すると、http://127.0.0.1:5500/またはhttp://localhost:5500/でアクセスできます。

ポート番号の変更方法

Live Serverのポート番号を変更する方法は複数あります。

方法1:settings.jsonで変更(推奨)

手順:

  1. Ctrl + ,(Macの場合は Cmd + ,)で設定を開く
  2. 右上の「設定(JSON)を開く」アイコンをクリック
  3. settings.jsonに以下を追加
{
  "liveServer.settings.port": 5501
}

この例では、ポート番号を5501に変更しています。

ランダムなポート番号を使う:

{
  "liveServer.settings.port": 0
}

0を指定すると、Live Serverは自動的に使用可能なポート番号を選択します。

方法2:GUI設定画面から変更

手順:

  1. Ctrl + ,で設定を開く
  2. 検索ボックスに「live server port」と入力
  3. Live Server > Settings: Port」が表示される
  4. 希望のポート番号を入力

方法3:拡張機能の設定画面から変更

手順:

  1. 拡張機能ビュー(Ctrl + Shift + X)を開く
  2. インストール済みの「Live Server」を見つける
  3. 歯車アイコンをクリックして「拡張機能の設定」を選択
  4. Live Server Config」セクションでポート番号を変更

ワークスペースごとの設定

プロジェクトごとに異なるポート番号を使いたい場合、ワークスペース設定を使います。

手順:

  1. プロジェクトフォルダを開く
  2. .vscodeフォルダを作成(まだない場合)
  3. .vscode/settings.jsonを作成し、以下を記述
{
  "liveServer.settings.port": 5555
}

これで、このプロジェクトだけ特定のポート番号を使用できます。

その他のLive Server設定

ポート番号以外にも、便利な設定があります。

ホスト名の変更:

{
  "liveServer.settings.host": "0.0.0.0"
}

これにより、同じネットワーク内の他のデバイスからもアクセス可能になります。

ブラウザの指定:

{
  "liveServer.settings.CustomBrowser": "chrome"
}

使用可能な値:chrome, firefox, edge, safari

ローカルIPアドレスを使用:

{
  "liveServer.settings.useLocalIp": true
}

これにより、http://192.168.x.x:5500/のような形式のURLが生成され、スマホからもアクセスしやすくなります。

デバッグ時のポート番号設定

VSCodeでアプリケーションをデバッグする際も、ポート番号の設定が必要な場合があります。

launch.jsonでのポート番号設定

デバッグ設定は、.vscode/launch.jsonファイルで管理します。

Node.js/JavaScriptの場合

例:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Program",
      "program": "${workspaceFolder}/server.js",
      "env": {
        "PORT": "3000"
      }
    }
  ]
}

envセクションで環境変数としてポート番号を指定します。

ASP.NET Coreの場合

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": ".NET Core Launch (web)",
      "type": "coreclr",
      "request": "launch",
      "preLaunchTask": "build",
      "program": "${workspaceFolder}/bin/Debug/net6.0/MyApp.dll",
      "env": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_URLS": "http://localhost:5001"
      }
    }
  ]
}

ASPNETCORE_URLSでポート番号を指定します。

Pythonの場合

Flaskアプリケーションの例:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Flask",
      "type": "python",
      "request": "launch",
      "module": "flask",
      "env": {
        "FLASK_APP": "app.py",
        "FLASK_ENV": "development",
        "FLASK_RUN_PORT": "5001"
      },
      "args": [
        "run"
      ]
    }
  ]
}

デバッグポートとアプリケーションポートの違い

混同しやすいポイントですが、2種類のポートがあります。

1. デバッグポート(Debug Port)

  • デバッガがアプリケーションと通信するためのポート
  • 通常、自動的に割り当てられる
  • 一般的には9229(Node.js)、5678(Python)など

2. アプリケーションポート

  • アプリケーション自体がリッスンするポート
  • ブラウザでアクセスする際のポート
  • 開発者が設定する必要がある

ポート転送(Port Forwarding)機能

VSCodeには、ローカルサーバーを外部からアクセス可能にする「ポート転送」機能があります。

ポート転送とは?

ポート転送を使うと、ローカルで動作しているサーバーに、インターネット経由でアクセスできるようになります。

用途:

  • スマホやタブレットから確認
  • 他の開発者に作業中の画面を共有
  • リモート開発環境での作業

ポート転送の使い方

手順:

  1. ローカルサーバーを起動

Live Serverを起動するか、開発サーバーを実行します。

例:

npm run start
  1. ポート番号を確認

VSCode右下のステータスバーに表示されるポート番号を確認します(例:Port: 5500)

  1. ポートビューを開く
  • VSCode左下のアイコンをクリックして「ポート」パネルを開く
  • または Ctrl + J(Macの場合は Cmd + J)でパネルを開き、「ポート」タブを選択
  1. ポート転送を開始

Forward a Port」ボタンをクリックし、ポート番号を入力します。

  1. 外部アクセス用URLを取得

ポート転送が開始されると、「Forwarded Address」欄に外部からアクセス可能なURLが表示されます。

例:https://abcd1234-5500.uks1.devtunnels.ms/

ポートの公開範囲設定

ポート転送には3つの公開範囲があります。

1. Private(プライベート)

  • デフォルト設定
  • 自分だけがアクセス可能

2. Organization(組織内)

  • 同じGitHub組織のメンバーがアクセス可能
  • GitHub TeamまたはGitHub Enterprise Cloudが必要

3. Public(パブリック)

  • URLを知っている誰でもアクセス可能
  • セキュリティに注意

公開範囲の変更方法:

  1. ポートビューで対象ポートを右クリック
  2. Port Visibility」または「Change Port Visibility」を選択
  3. 希望の公開範囲を選択

初回利用時のGitHubアカウント連携

ポート転送を初めて使用する際、GitHubアカウントとの連携が必要です。

手順:

  1. ポート転送を開始すると、認証画面が表示される
  2. 「Sign in to GitHub」をクリック
  3. GitHubアカウントでログイン
  4. VSCodeへのアクセスを許可

スマホから確認する方法

手順:

  1. Live Serverまたは開発サーバーを起動
  2. ポート転送を設定(公開範囲はPrivateまたはPublic)
  3. 生成されたURLをコピー
  4. スマホのブラウザでURLを開く
  5. Privateの場合、GitHubアカウントでログインが必要

ファイルを編集して保存すると、スマホのブラウザも自動的に更新されます(Live Server使用時)。

ポート番号のトラブルシューティング

トラブル1:「ポートが既に使用中」エラー

症状:

Error: listen EADDRINUSE: address already in use :::5500

または

Port 5500 is already in use.

原因:
指定したポート番号が他のプログラムで既に使用されています。

解決方法1:使用中のプログラムを終了

Windows:

  1. コマンドプロンプトを管理者として実行
  2. ポートを使用しているプロセスを確認
netstat -ano | findstr :5500
  1. PID(プロセスID)を確認し、プロセスを終了
taskkill /PID [プロセスID] /F

Mac/Linux:

  1. ターミナルを開く
  2. ポートを使用しているプロセスを確認
lsof -i :5500
  1. プロセスを終了
kill -9 [プロセスID]

解決方法2:別のポート番号を使用

settings.jsonでポート番号を変更します。

{
  "liveServer.settings.port": 5501
}

または、ランダムポートを使用:

{
  "liveServer.settings.port": 0
}

トラブル2:ポート転送が失敗する

症状:

Unable to forward localhost:5000. [forwarding] exited with code 1

原因と解決方法:

1. ポートが使用中

別のプログラムがポートを使用している可能性があります。

→ 上記「トラブル1」の解決方法を試す

2. ファイアウォールやアンチウイルスソフトによるブロック

セキュリティソフトがポート転送をブロックしている可能性があります。

→ 一時的にファイアウォールを無効化して試す(解決したら、適切に例外設定を行う)

3. SSL証明書の問題

証明書の検証に失敗している可能性があります。

→ システムの日付と時刻が正しいか確認

→ 証明書ストアを更新(Windows:certmgr.mscを実行)

4. VSCodeを管理者として実行

権限の問題でポート転送が失敗している可能性があります。

→ VSCodeを管理者権限で起動して試す

トラブル3:スマホからアクセスできない

症状:
ポート転送のURLをスマホで開いても、ページが表示されない。

原因と解決方法:

1. 公開範囲がPrivate

Privateの場合、GitHubアカウントでログインが必要です。

→ スマホのブラウザでGitHubにログイン

→ または公開範囲をPublicに変更(セキュリティに注意)

2. URLが正しくない

コピーしたURLが間違っている可能性があります。

→ ポートビューで「Forwarded Address」を再確認

→ URLをQRコード化して読み取る(便利)

3. ネットワークの問題

インターネット接続に問題がある可能性があります。

→ スマホがインターネットに接続されているか確認

→ 別のネットワークで試す

トラブル4:デバッグが正しいポートで起動しない

症状:
デバッグ実行時、期待したポート番号で起動しない。

原因:
launch.jsonの設定が正しくないか、アプリケーション側の設定が優先されています。

解決方法:

1. launch.jsonを確認

.vscode/launch.jsonでポート番号が正しく設定されているか確認します。

2. アプリケーション側の設定を確認

Node.jsの場合、package.jsonのscriptsセクション:

{
  "scripts": {
    "start": "node server.js",
    "dev": "PORT=3001 node server.js"
  }
}

3. 環境変数を確認

.envファイルがある場合、そこでポート番号が指定されていないか確認します。

トラブル5:複数のポートを同時に転送できない

症状:
複数の開発サーバーを起動しているが、ポート転送が1つしか機能しない。

解決方法:

VSCodeでは複数のポートを同時に転送できます。

手順:

  1. ポートビューを開く
  2. 「Forward a Port」を複数回クリック
  3. それぞれ異なるポート番号を入力

すべてのポートが一覧表示され、個別に管理できます。

トラブル6:自動ポート転送を無効にしたい

症状:
VSCodeが自動的にポート転送を開始してしまう。

解決方法:

settings.jsonで自動ポート転送を無効化します。

{
  "remote.autoForwardPorts": false,
  "remote.restoreForwardedPorts": false
}

特定のポート範囲のみ無視したい場合:

{
  "remote.portsAttributes": {
    "5000-5999": {
      "onAutoForward": "ignore"
    }
  }
}

フレームワーク別のポート番号設定

各種フレームワークでのポート番号設定方法をまとめます。

React(Create React App)

デフォルトポート: 3000

ポート番号の変更:

方法1:環境変数

Windows:

set PORT=3001 && npm start

Mac/Linux:

PORT=3001 npm start

方法2:.envファイル

プロジェクトルートに.envファイルを作成:

PORT=3001

Node.js(Express)

デフォルトポート: 通常3000(任意)

server.jsでの設定:

const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;

app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

Vue.js(Vue CLI)

デフォルトポート: 8080

ポート番号の変更:

vue.config.jsを作成または編集:

module.exports = {
  devServer: {
    port: 8081
  }
}

Next.js

デフォルトポート: 3000

ポート番号の変更:

package.json:

{
  "scripts": {
    "dev": "next dev -p 3001"
  }
}

Python Flask

デフォルトポート: 5000

ポート番号の変更:

if __name__ == '__main__':
    app.run(port=5001, debug=True)

または環境変数:

FLASK_RUN_PORT=5001 flask run

Python Django

デフォルトポート: 8000

ポート番号の変更:

python manage.py runserver 8001

まとめ

VSCodeにおけるポート番号について解説しました。

重要なポイントをおさらいします:

基本概念:

  • ポート番号は、同じIPアドレス上で複数のサービスを区別するための番号
  • 開発では通常3000、5000、5500、8000などがよく使われる
  • 0〜65535の範囲で指定可能

Live Serverのポート設定:

  • デフォルトは5500
  • settings.jsonで変更可能:"liveServer.settings.port": 5501
  • ランダムポートは0を指定

デバッグ時のポート設定:

  • launch.jsonで環境変数として設定
  • デバッグポートとアプリケーションポートは別物
  • フレームワークによって設定方法が異なる

ポート転送機能:

  • ローカルサーバーを外部からアクセス可能にする
  • GitHubアカウントとの連携が必要
  • Private、Organization、Publicの3つの公開範囲
  • スマホからの確認に便利

トラブル対処:

  • ポート使用中エラー:別のポート番号を使うか、使用中のプロセスを終了
  • ポート転送失敗:ファイアウォール、証明書、権限を確認
  • スマホアクセス不可:公開範囲とログイン状態を確認

ポート番号の理解と適切な設定により、VSCodeでの開発がよりスムーズになります。

複数のプロジェクトを同時に開発する際も、ポート番号を適切に管理することで、競合を避けることができます。

この記事を参考に、快適な開発環境を構築してください!

コメント

タイトルとURLをコピーしました