PyCharm 2024.3 ヘルプ

Node.js の実行とデバッグ

PyCharm は、Node.js アプリケーションの実行とデバッグを支援します。PyCharm から起動し、すでに実行中のアプリケーションにアタッチするアプリケーションをデバッグできます。

始める前に

  • JavaScript and TypeScriptJavaScript DebuggerNode.js に必要なプラグインが設定 | プラグインページのインストール済みタブで有効になっていることを確認します。詳細については、プラグインのマッピングを参照してください。

Node.js アプリケーションを実行する

PyCharm は、タイプ Node.js の実行構成に従って Node.js アプリケーションを実行します。PyCharm は、この構成を Node.js アプリケーションと一緒にデバッガーを起動するにも使用します。

Node.js 実行 / デバッグ構成を作成する

  1. 実行 | 実行構成の編集に移動します。または、ツールバーの実行ウィジェットから実行構成の編集を選択します。

    Open the Edit Configurations dialog

    開いた実行構成の編集ダイアログで、ツールバーの追加ボタン (the Add button) をクリックし、リストから Node.js を選択します。実行 / デバッグ構成: Node.js ダイアログが開きます。

  2. 使用する Node.js インタープリターを指定します。

    プロジェクトエイリアスを選択すると、PyCharm は Node.js ページの Node インタープリターフィールドからプロジェクトの既定のインタープリターを自動的に使用します。ほとんどの場合、PyCharm はプロジェクトの既定のインタープリターを検出し、フィールド自体に入力します。

    別の構成済みのローカルインタープリターまたはリモートインタープリターを選択するか、the Browse button をクリックして新しいインタープリターを構成することもできます。

  3. ファイルフィールドで、それを開始するアプリケーションのメインファイルへのパスを指定します(たとえば、Express(英語) アプリケーションの場合は bin/www)。

  4. オプション:

    • Node.js の起動をカスタマイズする Node パラメーターを指定します。例: 実験的な Node.js 機能を有効にするか、別のオプションを渡すことができます。詳細については、Node.js 公式 Web サイト(英語)を参照してください。

    • アプリケーションパラメーターフィールドに、process.argv(英語) 配列を介して起動時にアプリケーションに渡される Node.js 固有の引数を指定します。

    • ブラウザーでアプリケーションを自動的に開くには、起動前のタスクを設定します。 をクリックして起動前領域を展開し、the Add button をクリックして、リストから Web ブラウザーの起動を選択します。開いたダイアログで、アプリケーションの開始ページの URL(Express アプリケーションの場合は localhost:3000 など)と使用するブラウザーを指定します。

      Before-launch task: open browser

アプリケーションの実行

アプリケーションで morgan(英語) などのログツールを使用していて、このツールがログをファイルに書き込む場合、これらのログは実行ツールウィンドウのコンソールタブで確認できます。

Node.js アプリケーションの実行時にログを管理する

  1. 上記のように Node.js 実行 / デバッグ構成を作成し、ログタブに移動します。

  2. 利用可能なログファイル(存在する場合)を一覧表示するコンソールで表示するログファイルフィールドの横にある the Add button をクリックします。

  3. 表示されるログファイルエイリアスの編集ダイアログで、ログエントリのリストに表示するエイリアス名を入力し、ログファイルの場所を指定します。このパターンがカバーするすべてのファイルを表示するか、最後のパターンのみを表示するかを選択します。

  4. 新しいログファイルがリストに追加される Node.js 実行 / デバッグ構成ダイアログに戻るには、OK をクリックします。その横にあるアクティブチェックボックスを選択します。前のコンテンツをスキップするには、内容のスキップチェックボックスを選択します。

  5. オプション:

    • プロセスコンソール出力をログファイルに保存できるようにするには、コンソール出力をファイルに保存するチェックボックスをオンにして、ファイルの場所を指定します。

    • プロセスコンソールをいつ表示するかを選択します。

Node.js アプリケーションをデバッグする

PyCharm を使用すると、Node.js アプリケーションのデバッグが容易になります。ブレークポイントを JavaScript または TypeScript コードの中に置くと、debugger および console.log() ステートメントが不要になります。コードを調べたり、バグの場所を理解するのに役立つ多くのことができます。デバッグツールウィンドウでは、コールスタックと現在の状態の変数を表示し、エディターで式を評価し、コードをステップ実行できます。

次の 2 つの方法でデバッグセッションを開始できます。

  • Node.js 実行 / デバッグ構成を使用して、アプリケーションとともにデバッガーを開始します。

  • すでに実行中のアプリケーションにデバッガーを接続します。この場合、アプリケーションはすでにデバッグモード(英語)で実行されており、PyCharm は実行中のプロセスに接続します。

    PyCharm は --inspect--inspect-brk を認識し、現在は非推奨の --debug フラグを認識しているため、デバッグのために任意のアプリケーションにアクセスできるようになります。

    実行中のアプリケーションをデバッグするには、Node.js/Chrome への接続構成を使用します。

PyCharm を使用すると、Vagrant ボックスDocker コンテナーさまざまな転送プロトコルまたは SSH を介してアクセス可能なリモートホストで実行されている Node.js アプリケーションをデバッグすることもできます。

コンピューター上の Node.js アプリケーションと一緒にデバッガーを起動する

Start and debug a Node.js Express app
  1. 必要に応じて、コードにブレークポイントを設定します。

  2. 上記の説明に従って、Node.js 実行 / デバッグ構成を作成します。

    ブラウザーでアプリケーションを自動的に開くには、起動前のタスクを設定します。 をクリックして起動前領域を展開し、the Add button をクリックして、リストから Web ブラウザーの起動を選択します。開いたダイアログで、アプリケーションの開始ページの URL(Express アプリケーションの場合は localhost:3000 など)と使用するブラウザーを指定します。

    Before-launch task: open browser
  3. ツールバーの実行ウィジェットリストから、新しく作成した Node.js 構成を選択し、その横にある the Debug button をクリックします。

    Start a Node.js debugging session with a run/debug configuration

    デバッグツールウィンドウが開きます。

  4. ブレークポイントを使用してコードの実行をトリガーする手順を実行します。例: アプリケーションの開始ページからブラウザーの別のページに移動します。

  5. デバッグツールウィンドウのコントロールが有効になっている PyCharm に切り替えます。デバッグセッションに進みます - ブレークポイントをステップスルーし、フレームを切り替え、値をその場で変更し、中断されたプログラムを調べ、式評価しウォッチ設定します。

実行中の Node.js アプリケーションをデバッグする

PyCharm を使用すると、すでに開発モードで実行されている、つまり --inspect または --inspect-brk フラグで起動されたアプリケーションをデバッグできます。デバッグセッションは Node.js/Chrome への接続構成を通じて開始され、Chrome デバッグプロトコル(英語)を使用します。

実行またはデバッグツールウィンドウまたは組み込みのターミナルからデバッガーを起動する

アプリケーションが --inspect または --inspect-brk フラグで開始された場合、組み込みのターミナルから、実行ツールウィンドウから、デバッグツールウィンドウからデバッグセッションを開始できます。

Attach the debugger to a running app from the Run tool windowl
  1. 必要に応じてブレークポイントを設定します。

  2. --inspect または --inspect-brk フラグを使用してアプリケーションを実行します。いくつかの方法でそれを行うことができます。例:

    • package.json で、--inspect または --inspect -brk フラグが付いたスクリプトの横のガターにある the Run button をクリックし、実行 '<script name>' を選択します。詳細については、スクリプトの実行とデバッグを参照してください。

      Launch an app in the debug mode: launch a script
    • 埋め込まれたターミナルAlt+F12)を開き、次のように入力します。

      node --inspect-brk <path to the starting page of your application relative to the project root>

  3. ターミナル実行ツールウィンドウ、デバッグツールウィンドウのコンソールタブには、情報メッセージ Debugger listening <host>:<port> が表示されます。デフォルトのポートは 9229 です。デバッグを開始するには、Ctrl+Shift を押しながらリンクをクリックします。

    PyCharm は、自動的に生成された Node.js/Chrome への接続構成を使用してデバッグセッションを開始します。ブレークポイントを使用してコードの実行をトリガーする手順を実行します。例: アプリケーションの開始ページからブラウザーの別のページに移動します。

実行 / デバッグ構成を介して実行中のアプリにデバッガーをアタッチする

  1. 上記のように、--inspect または --inspect-brk フラグを使用してアプリケーションを実行します。

  2. 必要に応じてブレークポイントを設定します。

  3. メインメニューで実行 | 実行構成の編集に移動し、開いた構成の編集ダイアログで Add New Configuration をクリックし、リストから Node.js/Chrome への接続を選択します。「実行 / デバッグ構成: Node.js/Chrome への接続」ダイアログが開きます。

  4. 対象アプリケーションが実行されているホストと、接続先の Node.js プロセスを開始するときに --inspect または --inspect-brk に渡されるポートを指定します。

    Attach to Node/Chrome run/debug configuration

    ターミナルツールウィンドウまたは実行中のアプリケーションを制御する実行ツールウィンドウの情報メッセージ Debugger listening <host>:<port> からポート番号をコピーします。

    Start debugging from Run tool window or Terminal: information message
  5. ツールバーの実行ウィジェットリストから、新しく作成された Node.js/Chrome への接続構成を選択し、その横にある the Debug button をクリックします。デバッグツールウィンドウが開きます。

  6. ブレークポイントでコードをトリガするアクションを実行します。デバッグセッションの制御が PyCharm に戻ります。

  7. PyCharm に切り替えます。デバッグツールウィンドウで、ブレークポイントをステップスルーし、フレームを切り替え、値をオンザフライで変更し、中断されたプログラムを調べ、式評価しウォッチ設定します。

nodemon を使用する Node.js アプリケーションをデバッグする

PyCharm 組み込みデバッガーは、実行中の Node.js プロセスに自動的に再接続できます。これにより、コードが更新されたときに Node.js プロセスを自動的に再ロード(英語)する nodemon ユーティリティ(英語)を使用する Node.js アプリケーションをデバッグできます。

このようなアプリケーションをデバッグするには、(--inspect または --inspect-brk フラグを使用して)デバッグモードでアプリケーションを開始し、自動的に再接続するオプションをオンにした Node.js/Chrome へのアタッチデバッグ構成を使用してアプリケーションに接続する必要があります。

nodemon をインストールする

  • 組み込みターミナルAlt+F12)で、npm install --save-dev nodemon または yarn add nodemon --dev と入力して、nodemon を開発依存関係としてインストールします。

デバッグモードで nodemon を使用してアプリケーションを起動する

  • 次の npm debug スクリプトを作成して実行します。

    "debug": "nodemon --inspect <path_to_the_file_that_starts_your_application>

    詳細は、スクリプトの実行とデバッグを参照してください。

  • または、上記のように Node.js 実行 / デバッグ構成を介して inspect フラグを渡します。

アプリケーションのデバッグ

  1. 必要に応じて、コードにブレークポイントを設定します。

  2. 実行中の Node.js アプリケーションのデバッグの説明に従って新しい Node.js/Chrome へのアタッチ構成を作成し、自動的に再接続するチェックボックスを選択します。

    Attach no Node.js run configuration: select the Reconnect automatically checkbox

    通常、設定 9229 でポートを変更する必要はありません。デバッガーが待機しているデフォルトのポートです。ただし、デバッグモードでアプリを実行したときにログに記録されたメッセージで使用されているポートを確認することはできます。

    Node.js application with nodemon running in the debug mode: check the port
  3. ツールバーの実行ウィジェットリストから、新しく作成された Node.js/Chrome への接続構成を選択し、その横にある the Debug button をクリックします。デバッガーは、PyCharm のコードに設定したブレークポイントで停止します。

    これで、コードに変更を加えて Ctrl+S として保存するたびに、nodemon はアプリケーションを自動的に再ロードし、デバッガーは再起動されたプロセスに自動的に再アタッチします。

関連ページ:

プラグインのインストール

プラグインは PyCharm のコア機能を拡張します。例: プラグインをインストールして、次の機能を取得します。バージョン管理システム、課題追跡システム、ビルド管理サーバー、その他のツールとの統合。さまざまな言語とフレームワークのコーディング支援サポート。ショートカットのヒント、ライブプレビュー、ファイルウォッチャーなど。新しいプログラミング言語を学ぶのに役立つコーディング演習。プラグイン設定を開くを押して設定を開き、を選択します。マーケットプレースタブを使用して、JetBrains マーケット...

実行 / デバッグ構成: Node.js

作成: 次の Node.js バージョンは、PyCharm 2023.3 以降でサポートされています。Node.js 20 - アクティブな長期サポート (LTS) バージョン、Node.js 21 - 現在のバージョン、サポートされている Node.js バージョンの詳細を参照してください。このダイアログで、コンピューター上の Node.js アプリケーションと一緒にデバッガーを開始するための構成を作成します。始める前に:Node.js をダウンロードしてインストールします。JetBrains...

Node.js

このページは、プラグインのインストールに従って、設定 | プラグインページのインストール済みタブで Node.js バンドルプラグインが有効になっている場合にのみ表示されます。次の Node.js バージョンは、PyCharm 2023.3 以降でサポートされています。Node.js 20 - アクティブな長期サポート (LTS) バージョン、Node.js 21 - 現在のバージョン、サポートされている Node.js バージョンの詳細情報 Node インタープリターこのフィールドでは、現在のプロジ...

Vagrant: 再現可能な開発環境の使用

Vagrant は、仮想マシンのライフサイクルを管理するために使用されるコマンドラインユーティリティです。PyCharm は Vagrant と完全に統合されており、Vagrant 仮想環境を構成し、仮想マシンの動作を制御し、プロジェクト内から Vagrant コマンドを実行できます。Vagrant を使用する場合、次の定義が満たされます。Vagrantfile: Vagrant 環境を定義し、仮想ボックスのすべての構成を格納し、仮想マシンの操作方法を Vagrant に指示するメイン構成ファイル...

Docker

Docker は、分離された再現可能な環境で実行可能ファイルをデプロイおよび実行するためのツールです。これは、たとえば、本番環境と同じ環境でコードをテストする場合に役立ちます。PyCharm は Docker 機能を統合し、Docker イメージの作成、Docker コンテナーの実行、Docker Compose アプリケーションの管理、パブリックおよびプライベート Docker レジストリの使用など、IDE から直接実行するための支援を提供します。Docker コンテナーにデプロイされたさまざま...

ブレークポイント

ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、たとえば、特定のコード行に到達したときにプログラムを一時停止するなどの単純なものから、追加の条件をチェックしたり、ログに書き込んだりするなどのより複雑なロジックを含むものまであります。ブレークポイントは、一度設定すると、一時的なブレークポイントを除き、明示的に削除するまでプロジェクト内に残ります。ブレークポイントの種類:PyChar