ツール
Node.js
V8 エンジン上で動く JavaScript ランタイム。サーバ・CLI・ビルドツールなどブラウザ外で JS を実行する用途で広く使われる。
問題一覧(11)
Node.js で「Error: Cannot find module」が解消できない
実行ディレクトリと package.json の位置がズレている、依存が未インストール、ESM と CommonJS の切り替えを誤っているの 3 系統が主因。require.resolve と npm ls で原因を切り分ける。
更新: 2026-09-04、実行例あり、タグ: node、module、require
Node.js で dotenv の値が読み込めない
.env が読まれない原因はほぼ「呼ぶ順序が遅い」「ファイルの場所が違う」「Node 20.6+ の --env-file と二重読み」のいずれか。エントリで最初に dotenv.config() を呼び、import 順を意識すれば解決する。
更新: 2026-09-18、実行例あり、タグ: dotenv、env、process.env
Node.js で「EADDRINUSE: address already in use」が解消できない
EADDRINUSE は同じポートで他プロセスが LISTEN していることが原因。lsof / netstat で占有プロセスを特定して終了するか、ポート番号を変更すれば解決する。
更新: 2026-08-02、実行例あり、タグ: eaddrinuse、port、listen
Node.js バージョンが合わず EBADENGINE で警告される
package.json の engines.node とインストール環境の Node バージョンが食い違うと npm は EBADENGINE を出す。nvm / fnm / volta で要求バージョンに切り替えるか、engines を実態に合わせて更新するのが基本対応。
更新: 2026-08-06、実行例あり、タグ: node、engines、version
Node.js で「error:0308010C:digital envelope routines::unsupported」が解決できない
Node.js 17 以降が OpenSSL 3 を採用し、webpack 4 系など古いツールが使う非推奨ハッシュが拒否されるためです。ツールを更新するか、暫定的に --openssl-legacy-provider を付けて回避します。
更新: 2026-08-02、実行例あり、タグ: openssl、webpack、build
Node.js で「Error [ERR_REQUIRE_ESM]」が解消できない
ESM 専用パッケージを CommonJS の require() で読み込もうとすると ERR_REQUIRE_ESM になる。動的 import() を await する、package.json を type:module に切り替える、または ESM 化前のバージョンに固定する。
更新: 2026-08-02、実行例あり、タグ: node、esm、commonjs
Node.js で「ERR_UNKNOWN_FILE_EXTENSION: Unknown file extension ".ts"」が解決できない
古い Node で .ts を直接実行すると拡張子を解釈できずこのエラーになる。tsx などのランナーで実行するか、型除去が既定の新しい Node(v22.18 / v23.6 以降)にする。
更新: 2026-08-28、実行例あり、タグ: typescript、esm、loader
Node.js の ESM で「__dirname is not defined」が解決できない
ES Modules では CommonJS の __dirname / __filename が定義されないためです。import.meta.url から導出するか、Node 20.11 以降なら import.meta.dirname を使います。
更新: 2026-08-02、実行例あり、タグ: esm、dirname、import-meta
Node.js で「fetch is not defined」が解決できない(古い Node)
グローバル fetch は Node.js 18 で標準搭載された。18 未満では未定義になるため、Node を更新するか node-fetch を導入すると解決する。
更新: 2026-09-10、実行例あり、タグ: fetch、node、undici
Node.js で fetch が「self-signed certificate in certificate chain」で接続できない
Node.js 組み込み fetch は OpenSSL の信頼ストアで TLS チェーンを検証するため、社内 CA や自己署名証明書を挟んだ環境では接続できません。NODE_EXTRA_CA_CERTS で追加 CA を読み込ませるのが安全な対処で、NODE_TLS_REJECT_UNAUTHORIZED=0 は検証を完全に切ってしまうため本番では使いません。
更新: 2026-08-27、実行例あり、タグ: fetch、tls、certificate
Node.js で「JavaScript heap out of memory」が発生する
V8 のヒープ上限(既定 1.5〜4GB 程度)を超えるとプロセスが落ちる。--max-old-space-size でヒープを増やすか、ストリーム化 / リーク修正で使用量を減らす。CI ビルドや巨大 JSON の処理で頻発。
更新: 2026-08-13、実行例あり、タグ: node、memory、heap
サンプルコード
エラーの解決ではなく「○○するには」の基本形を探しているときは、JavaScript のサンプルコード一覧(45件)を参照するとよい。