NodeJS 速習チュートリアル

Node.js コマンドラインの使用方法

Node.jsは、JavaScriptファイルの実行、パッケージ管理、アプリケーションのデバッグなどを行うための強力なコマンドラインインターフェース(CLI)を提供しています。

このガイドでは、すべてのNode.js開発者が知っておくべき必須コマンドとテクニックをカバーします。
注意: すべてのコマンドはターミナル(Terminal)またはコマンドプロンプトで実行してください。

  • Windows: コマンドプロンプト、PowerShell、または Windows Terminal を使用。
  • macOS / Linux: ターミナルを使用。

1. 基本的な Node.js コマンド

Node.jsアプリケーションを操作する際に最も頻繁に使用するコマンドです。

1.1 JavaScript ファイルを実行する

# JavaScript ファイルを実行
node app.js

# 追加の引数を渡して実行
node app.js arg1 arg2

# ウォッチモードで実行(ファイル変更時に自動再起動)
node --watch app.js

2. REPL の活用

Node.jsの REPL (Read-Eval-Print Loop) は、JavaScriptコードを対話的に実行できるシェル環境です。ターミナルで node と入力するだけで起動します。

REPL の使用例:

> const name = 'Node.js';
> console.log(`Hello, ${name}!`);
> .help // 利用可能なコマンドを表示
> .exit // REPL を終了(または Ctrl+C を2回)

3. コマンドライン引数

process.argv を使用して、実行時に渡されたコマンドライン引数にアクセスできます。

// args.js
console.log('すべての引数:', process.argv);
console.log('最初の引数:', process.argv[2]);
console.log('2番目の引数:', process.argv[3]);

// 実行例:
// node args.js hello world
// 出力:
// すべての引数: ['/path/to/node', '/path/to/args.js', 'hello', 'world']
// 最初の引数: hello
// 2番目の引数: world

4. 環境変数(Environment Variables)

アプリケーションの設定や秘密情報の管理に使用する環境変数にアクセス・設定する方法です。

// env.js
console.log('Environment:', process.env.NODE_ENV || 'development');
console.log('カスタム変数:', process.env.MY_VARIABLE);
console.log('データベース URL:', process.env.DATABASE_URL || '未設定');

// 環境変数を指定して実行する例:
// NODE_ENV=production MY_VARIABLE=test node env.js

4.1 環境変数の設定

実行時に直接環境変数を渡すことができます。

# 実行時に環境変数をセット
NODE_ENV=production MY_VARIABLE=test node env.js

5. Node.js アプリケーションのデバッグ

Node.jsには、Chrome DevTools と連携できる強力なデバッグシステムが組み込まれています。

5.1 デバッグの基本コマンド

# インスペクターを起動(デフォルトポート 9229 で待機)
node --inspect app.js

# アプリケーションの最初の行で一時停止(ブレーク)させる
node --inspect-brk app.js

# カスタムポートを指定
node --inspect=9222 app.js

# リモートデバッグを有効化(本番環境では注意が必要)
node --inspect=0.0.0.0:9229 app.js

5.2 Chrome DevTools を使ったデバッグ手順

  1. node --inspect app.js でアプリケーションを起動します。
  2. Chrome ブラウザを開き、アドレスバーに chrome://inspect と入力します。
  3. "Open dedicated DevTools for Node" をクリックします。
  4. ブレークポイントを設定し、ソースコードのステップ実行や変数の確認を行います。

6. 一般的な CLI ツール

Node.js エコシステムでよく使われる便利なツールです。

6.1 Node Version Manager (nvm)

異なるNode.jsバージョンを簡単に切り替えることができます。

# 特定のバージョンをインストール
nvm install 18.16.0

# 使用するバージョンを切り替え
nvm use 18.16.0

# インストール済みのバージョン一覧を表示
nvm ls

6.2 npm (Node Package Manager)

# 一般的な npm コマンド
npm init    # 新規プロジェクトの初期化
npm install # 依存パッケージのインストール
npm update  # パッケージの更新
npm audit   # 脆弱性のチェック

7. よく使われるコマンドラインフラグ

Node.jsの挙動を制御するための便利なフラグ(オプション)を紹介します。

7.1 基本フラグ

# Node.js のバージョンを表示
node --version # または -v

# V8 エンジンのオプションを表示
node --v8-options

# コマンドラインのヘルプを表示
node --help

7.2 ランタイムの挙動制御

# 実行せずに構文チェックのみ行う
node --check app.js

# 警告(Warning)のスタックトレースを表示
node --trace-warnings app.js

# 最大メモリ使用量を設定 (MB単位)
node --max-old-space-size=4096 app.js

# 実行前にモジュールをプリロード(例: dotenv で設定を読み込む)
node --require dotenv/config app.js

7.3 パフォーマンスと最適化(実験的機能)

# ES モジュールローダーを有効化
node --experimental-modules app.mjs

# REPL での await を有効化
node --experimental-repl-await

# Worker Threads の実験的機能を有効化
node --experimental-worker