tool
Node.js
V8 エンジン上で動く JavaScript ランタイム。サーバ・CLI・ビルドツールなどブラウザ外で JS を実行する用途で広く使われる。
問題一覧(15)
Node.js で「Error: Cannot find module」が解消できない
実行ディレクトリと package.json の位置がズレている、依存が未インストール、ESM と CommonJS の切り替えを誤っているの 3 系統が主因。require.resolve と npm ls で原因を切り分ける。
更新: 2026-08-02、タグ: node、module、require
Node.js で dotenv の値が読み込めない
.env が読まれない原因はほぼ「呼ぶ順序が遅い」「ファイルの場所が違う」「Node 20.6+ の --env-file と二重読み」のいずれか。エントリで最初に dotenv.config() を呼び、import 順を意識すれば解決する。
更新: 2026-08-02、タグ: 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-06-26、タグ: 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-08-02、タグ: 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-02、タグ: fetch、tls、certificate
Node.js で「JavaScript heap out of memory」が発生する
V8 のヒープ上限(既定 1.5〜4GB 程度)を超えるとプロセスが落ちる。--max-old-space-size でヒープを増やすか、ストリーム化 / リーク修正で使用量を減らす。CI ビルドや巨大 JSON の処理で頻発。
更新: 2026-08-02、タグ: node、memory、heap
npm install が「ERESOLVE unable to resolve dependency tree」で失敗する
npm 7 以降は peerDependencies を厳格に解決するため、依存同士の要求バージョンが食い違うと ERESOLVE で停止する。原因の依存を更新するのが本筋で、暫定的には --legacy-peer-deps か overrides で回避する。
更新: 2026-08-02、タグ: npm、eresolve、peer-dependency
npm install が EACCES(permission denied)で失敗する
グローバル install で /usr/local や /usr/lib への書き込み権限が無いと EACCES になる。sudo に頼らず npm の prefix をユーザー領域に張り直すか、nvm / fnm で Node 自体を入れ直すのが安全策。
更新: 2026-08-02、タグ: npm、permission、eacces
npm run で Missing script エラーが出てスクリプトを実行できない
npm run xxx で Missing script エラーが出るのは、package.json の scripts にキーが無い、実行ディレクトリが違う、workspace の指定漏れの 3 系統。npm run を引数なしで実行し、現在の package.json の script 一覧を確認するのが最短。
更新: 2026-08-02、タグ: npm、scripts、package-json
nvm をインストールしたのに nvm コマンドが認識されない
nvm のインストーラを叩いた後に nvm: command not found になるのは、~/.bashrc や ~/.zshrc への source 行追記が反映されていない/別シェルを使っている/Windows 用 nvm-windows のパス未反映が原因。
更新: 2026-08-06、タグ: nvm、shell、install
サンプルコード
エラーの解決ではなく「○○するには」の基本形を探しているときは、JavaScript のサンプルコード一覧(15件)を参照するとよい。