How do I resolve "Cannot find module" error using Node.js? の原因と解決方法。検証済みの解決コマンド付きで、現象→原因→解決→確認の順に最短で直せます。
このエラーが出ていませんか
How do I resolve "Cannot find module" error using Node.js?結論
結論:まずこれで直ります
下の解決コマンドを順に実行すれば直ります。
cd /app && npm init -y && npm install express && node index.jsどんなエラーか
次の操作を行うと(検証環境: node:20)、上記のエラーが発生します。まずは下の再現コマンドで、同じ状況を再現できることを確認してください。
検証環境:node:20
mkdir -p /app && cd /app && cat > index.js << 'EOF'
const express = require('express');
console.log('loaded');
EOF
node index.jsなぜ起きるのか
「Cannot find module」エラーは、Node.jsがrequire()やimport文で指定したモジュールをnode_modulesディレクトリ内に見つけられないときに発生します。主な原因は、そのパッケージがまだインストールされていないことです。解決するには、まず対象プロジェクトディレクトリでnpm init -yを実行してpackage.jsonを初期化し(既に存在する場合は不要)、次にnpm install <パッケージ名>でパッケージをインストールします。これによりnode_modulesディレクトリとpackage-lock.jsonが生成され、Node.jsがモジュールを正しく解決できるようになります。既存のプロジェクトをクローンした場合はpackage.jsonは存在しますがnode_modulesがない状態なので、npm installを実行するだけで依存関係がすべてインストールされます。
解決手順
cd /app && npm init -y && npm install express && node index.js直ったか確認する
cd /app && node -e "require('express'); console.log('express loaded successfully'); process.exit(0);"動画で見る
この手順でも直らない場合は。
エラー文をそのまま貼り付けて送っていただければ、原因の当たりをつけてお返しします。 ヒアリングは無料です。業務システムの内製化・保守のご相談も受け付けています。
無料相談を申し込む