Node.jsを用いた開発において、現在実行されている環境のバージョンを正確に把握することは、アプリケーションの安定稼働を実現するための第一歩です。

特に2026年現在のNode.jsエコシステムでは、LTS(長期サポート)版と最新の機能を備えたCurrent版のサイクルが速まっており、複数のプロジェクトを並行して進めるエンジニアにとってバージョン管理と確認の自動化は必須のスキルとなっています。

本記事では、Node.jsのバージョン確認における基本コマンドから、プログラム内部での動的な取得方法、さらには主要なバージョン管理ツールごとの確認手順までを網羅的に解説します。

開発環境の不整合に悩まされることなく、スムーズに開発を進めるための知識を整理していきましょう。

Node.jsのバージョンを確認する基本コマンド

Node.jsが正しくインストールされているかを確認し、そのバージョンを表示させる最も一般的な方法は、ターミナル(macOS/Linux)やコマンドプロンプト、PowerShell(Windows)で専用のコマンドを実行することです。

基本の確認コマンド

標準的なコマンドは node -v または node --version です。

これらは全く同じ動作をします。

Shell
# バージョンを確認する(短縮形)
node -v

# バージョンを確認する(フルスペル)
node --version

実行すると、以下のように現在のバージョンが出力されます。

text
v24.15.0

Node.jsのバージョン表記は「v」から始まり、その後に「メジャー.マイナー.パッチ」の形式で数字が続きます。

2026年時点でのプロジェクトでは、偶数番号のLTS版を利用することが一般的ですが、新機能のテストを行いたい場合は奇数番号のCurrent版がインストールされていることもあります。

npmのバージョンも同時に確認する

Node.jsをインストールすると、通常はパッケージマネージャーである npm も同時にインストールされます。

Node.js本体とnpmのバージョンには互換性があるため、セットで確認しておくことが推奨されます。

Shell
# npmのバージョンを確認
npm -v
実行結果
10.8.1

もしNode.jsのバージョンが表示されるのにnpmのコマンドが通らない場合は、環境変数のパスが正しく通っていない可能性があります。

その際は、インストール経路を再度確認しましょう。

プログラム(JavaScript)内からバージョンを確認する方法

開発中、特定のNode.jsバージョン以上でなければ実行できない処理を記述したい場合や、ログに実行環境の情報を残したい場合があります。

そのような状況では、コマンドではなくNode.jsの組み込みオブジェクトを利用します。

process.version を使用する

現在実行中のNode.jsプロセスからバージョン文字列を取得するには、process.version プロパティを参照します。

JavaScript
// 現在のNode.jsバージョンを出力する
console.log('実行中のNode.jsバージョン:', process.version);

// バージョン判定の例(メジャーバージョンを取得して比較)
const majorVersion = parseInt(process.version.slice(1).split('.')[0], 10);
if (majorVersion < 20) {
  console.error('エラー: このアプリケーションは Node.js v20 以上を推奨しています。');
}
実行結果
実行中のNode.jsバージョン: v24.15.0

process.versions を使用して詳細を確認する

Node.js本体だけでなく、V8エンジンやOpenSSL、zlibなど、内部で使われているライブラリのバージョンまで詳細に把握したい場合は、process.versions (末尾にsがつく)を使用します。

JavaScript
// 関連コンポーネントの全バージョンを表示
console.log(process.versions);

出力結果はオブジェクト形式で返されます。

JavaScript
{
  node: '24.15.0',
  v8: '12.4.254.21-node.8',
  uv: '1.48.0',
  zlib: '1.3.0.1-motley',
  brotli: '1.1.0',
  ares: '1.28.1',
  modules: '127',
  nghttp2: '1.61.0',
  napi: '9',
  llhttp: '9.2.1',
  openssl: '3.0.13+quic',
  cldr: '45.0',
  icu: '75.1',
  tz: '2024a',
  unicode: '15.1',
  ngtcp2: '1.3.0',
  nghttp3: '1.2.0'
}

この情報は、特定のセキュリティパッチが適用されたOpenSSLが使われているかなどを確認する際に非常に役立ちます。

管理ツール別のバージョン確認と切り替えコマンド

2026年の開発現場では、プロジェクトごとに異なるNode.jsバージョンを使い分けるのが一般的です。

そのため、複数のバージョンを管理するツール(バージョンマネージャー)が広く普及しています。

利用しているツールによって、確認コマンドが異なる点に注意が必要です。

fnm (Fast Node Manager) での確認

Rust製で非常に高速なため、2020年代半ばから主流となっているのが fnm です。

コマンド内容
fnm lsインストール済みの全バージョンを表示
fnm current現在アクティブなバージョンのみを表示
fnm list-remoteインストール可能なリモートのバージョン一覧を表示
Shell
# fnmでインストールされているバージョンの一覧を確認
fnm ls
実行結果
* v22.12.0 default
  v24.15.0
  v26.0.0

* が付いているものが現在選択されているバージョンです。

Volta での確認

設定不要でプロジェクトごとのバージョンを自動的に切り替えてくれる Volta も人気があります。

Shell
# Voltaで管理されているツールの一覧を確認
volta list
実行結果
⚡️ Currently active tools:

    Node: v22.10.0 (default)
    npm: v10.5.0 (default)
    pnpm: v9.1.0 (default)

Voltaの特徴は、package.jsonに記述されたバージョンを最優先するため、ディレクトリを移動するだけで自動的にバージョンが切り替わる点にあります。

nvm (Node Version Manager) での確認

古くから親しまれている nvm の場合も、一覧表示のコマンドが用意されています。

Shell
# インストール済みのバージョンを確認
nvm ls

# 利用可能なすべてのバージョンを表示
nvm ls-remote

nvmの場合、nvm current を実行することで現在のバージョンを確認できます。

プロジェクトの推奨バージョンを特定する方法

共同開発においては、「自分のマシンでどのバージョンを使っているか」だけでなく、「そのプロジェクトがどのバージョンを想定しているか」を確認することが重要です。

package.json の engines フィールド

多くのNode.jsプロジェクトでは、package.json 内に動作保証するバージョンを記載しています。

JSON
{
  "name": "my-project",
  "engines": {
    "node": ">=22.0.0"
  }
}

この記載がある場合、開発者は少なくとも指定されたバージョン以上のNode.jsを使用する必要があります。

もし自身の環境がこれに満たない場合は、前述の管理ツールを使用してアップデートを行いましょう。

.node-version または .nvmrc ファイル

ディレクトリの直下に .node-version.nvmrc というファイルが存在することがあります。

これらの中身を確認すると、そのプロジェクトで使用すべきバージョン番号が記載されています。

Shell
# ファイルの中身を確認する
cat .node-version

多くのモダンなバージョン管理ツールは、これらのファイルを自動的に読み取り、適切なNode.jsバージョンを選択してくれます。

よくあるトラブルと解決策

バージョン確認コマンドを実行した際に発生しやすい問題とその対策をまとめました。

コマンドが見つからない (command not found)

node: command not found と表示される場合、以下の2つの原因が考えられます。

  1. Node.js自体がインストールされていない: 公式サイトまたは管理ツールからインストールを行ってください。
  2. PATH(環境変数)が通っていない: 特に管理ツールをインストールした直後は、シェル(zshやbash)の再起動、あるいは設定ファイル(.zshrcや.bashrc)への追記が必要です。

期待したバージョンと異なる

fnm で切り替えたはずなのに node -v の結果が変わらない」といった現象は、異なる方法でインストールされたNode.jsが競合している場合に発生します。

例えば、macOSで Homebrew を使ってインストールしたNode.jsと、fnmでインストールしたNode.jsが共存していると、実行優先順位によって意図しない方が起動してしまいます。

これを解消するには、which node (Windowsの場合は where node)を実行し、現在どのパスにあるバイナリが実行されているかを確認してください。

Shell
# Node.jsの実体パスを確認
which node

出力が /usr/local/bin/node などであれば、それはインストーラーやHomebrewによるものです。

管理ツールを優先したい場合は、システムのパス設定を見直すか、不要なNode.jsをアンインストールすることをお勧めします。

2026年におけるCorepackの活用

2026年現在、Node.jsに標準搭載されている Corepack の重要性が増しています。

CorepackはNode.js本体のバージョン確認とは少し異なりますが、npm, yarn, pnpmといったパッケージマネージャーのバージョンをプロジェクトごとに自動で揃える仕組みです。

Node.jsのバージョン確認とともに、パッケージマネージャーの管理状態も以下のコマンドで有効化・確認しておきましょう。

Shell
# Corepackを有効化する
corepack enable

# 現在使用しているパッケージマネージャーのバージョン確認
pnpm -v

Node.jsのバージョンとパッケージマネージャーのバージョンの両方を適切に管理することで、チーム全体での「動かない」というトラブルを劇的に減らすことができます。

まとめ

Node.jsのバージョン確認は、単に数字を見るだけの作業ではありません。

現在自分がどのランタイムでコードを動かしているのか、プロジェクトが要求する環境と一致しているのかを確認する重要なプロセスです。

  • 基本の確認: node -v コマンド。
  • 詳細な確認: JavaScript内から process.versions を参照。
  • 効率的な管理: fnmVolta などの管理ツールを活用し、ls コマンド等で状態を把握。
  • プロジェクト整合性: package.json.node-version をチェック。

2026年の高度化した開発環境では、これらの手段を使い分け、環境に依存しない安定した開発フローを構築することが求められます。

もし実行時に予期せぬエラーが発生した際は、まずは深呼吸をして、この記事で紹介したコマンドで「現在の足場」を確認することから始めてみてください。