【VSCode】「Cannot find module」と表示される場合の原因と対処法|Node.jsでモジュールが見つからない場合
みなさんこんにちは。
VSCodeでNode.jsのプログラムを実行した際、Cannot find moduleというエラーが表示され、困った経験をしたことがある方も多いかと思います。
今回は、モジュールが見つからない原因と、package.json・npm install・実行場所の確認方法についてご紹介したいと思います。
この記事はこんな人におすすめ
この記事はこんな人におすすめです!
- Cannot find moduleを解消したい人
- npm installを実行しても直らない人
- node_modulesや実行フォルダを確認したい人
といったところでしょうか。
Cannot find moduleが表示される原因
このエラーは、Node.jsがrequire()で指定したモジュールを見つけられない場合などに発生します。VSCodeそのものの不具合ではなく、依存パッケージの未導入やパスの指定が原因となるケースが多いです。
今回はVSCodeで新しいフォルダnode-module-testを開き、ターミナル(Ctrl + `)でnpm init -yを実行します。作成したapp.jsに次のコードを記述してください。
// Expressモジュールを読み込む
const express = require("express");
// アクセス時に文字を返す処理
const app = express();
app.get("/", (req, res) => {
res.send("Hello");
});
// 3000番ポートでサーバーを起動する
app.listen(3000, () => {
console.log("Server started");
});
まだexpressをインストールしていない状態でnode app.jsを実行すると、次のようなエラーになります。
Error: Cannot find module 'express'
code: 'MODULE_NOT_FOUND'

package.jsonとnpm installを確認する
まず、フォルダ内のpackage.jsonを開き、dependenciesに対象のパッケージが記載されているか確認してください。
既存のプロジェクトで依存関係が定義されている場合は、そのpackage.jsonがあるフォルダでnpm installを実行します。
npm install
今回のようにexpressが未登録の場合は、次のコマンドで追加しましょう。npm installだけでは、未登録のexpressは追加されません。
npm install express
インストール後、package.jsonのdependenciesにexpressが追加されていることを確認してください。

node_modulesが作成されているか確認する
インストールが完了すると、通常はプロジェクト内にnode_modulesフォルダが作成されます。確認には次のコマンドも使用できます。
npm ls express
フォルダが存在していても、必要なパッケージが入っているとは限りません。エラーに表示されたモジュール名が正しいか確認しましょう。
実行場所とファイルの指定を確認する
VSCodeのターミナルでpwd(PowerShellの場合)などを実行し、現在のフォルダを確認してください。package.jsonがあるプロジェクトのルートでインストールと実行を行うと、操作ミスを防ぎやすくなります。
なお、require()の探索は実行中のJSファイルの位置を基準に行われます。自作ファイルを読み込む場合はrequire("./config")のように、./やファイル名の誤りも確認してください。
修正後、同じフォルダでnode app.jsを再実行し、Server startedと表示されれば起動成功です。終了するときはCtrl + Cを押してください。

それでも解決しない場合
node -vやnpm -vで実行環境を確認しましょう。パッケージ名のスペル違い、別フォルダへのインストール、ローカルファイルの指定ミスも確認してください。ERR_MODULE_NOT_FOUNDと表示される場合は、ES Modulesのimport文も確認が必要です。
最後に
いかがでしたでしょうか。今回は、VSCodeでCannot find moduleが表示される場合の確認方法をご紹介しました。
まずはエラーのモジュール名を確認し、package.json、npm install、node_modules、実行場所の順番に確認してみてください。少しでも参考になれば幸いです。
開発依頼について
ココナラでWebスクレイピング開発サービスを出品しております。
自分で開発をしようと思ったけど、VBAでのネット記事が少なく困っている方も多いかと思います。
そんな方はいつでもお気軽にご相談ください。
また、本ブログからご依頼いただいた方については割引特典がございますので、
ご不明点と合わせてメッセージをいただけると幸いです。
業務の流れをまるごと自動化します Excel・Web・Teams・SaaSで業務全体を自動化Webスクレイピング以外にもWebアプリの開発サービスも出品しております。
こちらについても、本ブログからご依頼いただいた方については割引特典がございますので、
お気軽にご相談ください。
スモールスケールのWebアプリ開発します 先ずはスモールスケールのWebアプリから始めませんか?
