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.js2. 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番目の引数: world4. 環境変数(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.js4.1 環境変数の設定
実行時に直接環境変数を渡すことができます。
# 実行時に環境変数をセット
NODE_ENV=production MY_VARIABLE=test node env.js5. 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.js5.2 Chrome DevTools を使ったデバッグ手順
node --inspect app.jsでアプリケーションを起動します。- Chrome ブラウザを開き、アドレスバーに
chrome://inspectと入力します。 - "Open dedicated DevTools for Node" をクリックします。
- ブレークポイントを設定し、ソースコードのステップ実行や変数の確認を行います。
6. 一般的な CLI ツール
Node.js エコシステムでよく使われる便利なツールです。
6.1 Node Version Manager (nvm)
異なるNode.jsバージョンを簡単に切り替えることができます。
# 特定のバージョンをインストール
nvm install 18.16.0
# 使用するバージョンを切り替え
nvm use 18.16.0
# インストール済みのバージョン一覧を表示
nvm ls6.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 --help7.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.js7.3 パフォーマンスと最適化(実験的機能)
# ES モジュールローダーを有効化
node --experimental-modules app.mjs
# REPL での await を有効化
node --experimental-repl-await
# Worker Threads の実験的機能を有効化
node --experimental-worker