Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Fixing the '@vitejs/plugin-react' Error in Vite + React

2025年10月04日に「Dev.to」が公開したITニュース「Fixing the '@vitejs/plugin-react' Error in Vite + React」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Vite+Reactプロジェクトで「@vitejs/plugin-reactが見つからない」エラーは、プラグインが未インストールのため。`npm i -D @vitejs/plugin-react`で解決する。Vite 5はNode.js >= 18が必要なので、バージョンを確認しよう。`node_modules`をクリーンアップするのも有効だ。

ITニュース解説

システム開発において、新しいプロジェクトを立ち上げる際、開発環境のセットアップは最初の重要なステップとなる。特に、ウェブアプリケーション開発で広く使われるViteとReactを組み合わせてプロジェクトを始めるとき、ある特定のエラーに遭遇することがある。これはシステムエンジニアを目指す初心者にとって特に混乱を招きやすいが、その原因と解決策を理解すれば、問題なく開発を進めることが可能だ。

今回解説するエラーは、npm run devコマンドを実行した際に発生する「Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@vitejs/plugin-react'」というメッセージである。このエラーは、ViteとReactを使った開発サーバーを起動しようとしたときに、指定されたソフトウェアパッケージが見つからないことを示している。

まず、ViteとReactの関係を簡単に説明する。Viteは、現代のウェブ開発において非常に高速なビルドツールであり、開発サーバーとしての機能も兼ね備えている。ビルドツールとは、私たちが書いたプログラムのソースコード(例えばJavaScriptやCSS)を、ウェブブラウザが理解できる形式に変換したり、最適化したりするソフトウェアのことだ。一方、Reactはユーザーインターフェース(UI)を構築するためのJavaScriptライブラリである。Reactでは、JSXやTSXという特殊な記法を使ってUIの見た目を記述する。これはJavaScriptの構文を拡張したもので、HTMLに似た形式でコンポーネントを記述できるため、直感的で開発効率が高い。

しかし、Viteのコア機能は、初期状態ではこのReactのJSX/TSX構文を直接理解して処理することができない。ViteはESモジュール(JavaScriptの標準的なモジュールシステム)、静的なアセット(画像ファイルなど)、そしてTypeScriptの基本的な機能は扱えるが、JSXのような拡張構文を処理するには追加の「プラグイン」が必要となる。ここで登場するのが、@vitejs/plugin-reactというパッケージだ。このプラグインは、ViteがReactのJSX/TSXを正しく解釈し、Reactのホットリロード(コードを変更した際に、ブラウザをリロードせずに変更が即座に反映される機能)などの便利な機能を有効にするための、ViteとReactの間の「橋渡し役」を果たす重要なコンポーネントである。

エラーメッセージが「Cannot find package '@vitejs/plugin-react'」と出たのは、プロジェクトの設定ファイルであるvite.config.tsの中で、この@vitejs/plugin-reactプラグインを使おうとインポートしているにもかかわらず、実際にはそのプラグインがプロジェクトにインストールされていない、という状態を示している。プロジェクトで使用する外部パッケージは、通常、node_modulesというディレクトリに格納される。これは、プロジェクトが必要とするすべての依存関係(ライブラリやツール)が置かれる場所であり、Node.jsはここにパッケージを探しに行く。つまり、vite.config.ts@vitejs/plugin-reactを使うと指示しているが、node_modules内にその指示されたパッケージが存在しないため、Viteが起動できずにエラーとなるのだ。

この問題の最も直接的で簡単な解決策は、足りないプラグインをプロジェクトにインストールすることである。コマンドラインで次のコマンドを実行する。

npm i -D @vitejs/plugin-react

このコマンドの意味を解説する。「npm」はNode.jsのパッケージマネージャーであり、JavaScriptのライブラリやツールを管理するための標準的なツールだ。「i」または「install」はパッケージをインストールするコマンドを表し、「-D」または「--save-dev」は、そのパッケージが「開発依存」(devDependencies)としてインストールされることを意味する。開発依存とは、アプリケーションの実行時には直接必要ないが、開発プロセス(例えばビルドやテスト)でのみ必要となるパッケージのことだ。@vitejs/plugin-reactはViteのビルドプロセスで利用されるため、開発依存としてインストールするのが適切である。このコマンドを実行することで、@vitejs/plugin-reactnode_modulesディレクトリに追加され、package.jsonというファイルの中のdevDependenciesセクションにその情報が記録される。package.jsonは、プロジェクトの名前、バージョン、スクリプト、そしてプロジェクトが依存するすべてのパッケージのリストとそのバージョンを管理する重要なファイルだ。

もし上記の方法を試してもエラーが解決しない場合、いくつかの追加のステップを検討する必要がある。稀に、node_modulesディレクトリやpackage-lock.jsonファイルが何らかの理由で破損したり、不整合を起こしたりすることがある。package-lock.jsonは、npm iコマンドを実行した際に、プロジェクトの依存関係ツリーの正確な状態を記録するファイルで、複数の開発者が同じ環境を再現するのに役立つ。

このような状況では、クリーンな状態から再インストールを試みるのが有効だ。次のコマンド群を順に実行してみよう。

  1. rm -rf node_modules package-lock.json: このコマンドは、既存のnode_modulesディレクトリとpackage-lock.jsonファイルを強制的に削除する。
  2. npm cache verify: これはnpmの内部キャッシュを検証し、破損したデータがないか確認する。
  3. npm i: すべての依存関係を再インストールする。これにより、package.jsonに記述されたすべてのパッケージがクリーンな状態でnode_modulesにインストールされ、新しいpackage-lock.jsonが生成される。

また、Node.jsのバージョンも重要な要素である。Viteの新しいバージョンは、より新しいNode.jsのバージョンを要求することがよくある。例えば、Vite 5はNode.js 18.0.0以上が必要だ。現在使用しているNode.jsのバージョンを確認するには、node -vコマンドを実行する。もしバージョンが要件を満たしていない場合は、Node.jsをアップデートする必要がある。

プロジェクトのpackage.jsonファイルを開き、devDependenciesセクションに"@vitejs/plugin-react": "^X.Y.Z"のような行が含まれていることを確認することも大切だ。これは、上記で実行したインストールコマンドが正しく機能した証拠となる。

Viteとプラグインの関係性について、より深い理解を持つことは今後の開発に役立つ。Viteのコアは、現代のJavaScriptプロジェクトの基本的な要件(ESモジュール、静的アセット、TypeScript)を効率的に処理するように設計されている。しかし、開発者は様々なフレームワーク(React、Vue、Svelteなど)や追加機能を利用する。Viteは、これらの特定の要件に対応するために「プラグイン」という拡張機構を提供している。@vitejs/plugin-reactは、ViteにReact特有の機能を「教え込む」ための特別なアドオンと考えることができる。このプラグインがなければ、ViteはJSX構文を理解できず、結果としてエラーが発生してしまう。

プロとして開発を進める上でのヒントもいくつかある。まず、vite.config.tsファイルとpackage.jsonの依存関係は、常に一致していることを確認するべきだ。設定ファイルでプラグインを使っているのに、それがインストールされていなければ問題が発生する。次に、他の人からプロジェクトのコードを受け取ったり、GitHubのようなリポジトリからダウンロードしたりした場合、必ず最初にnpm i(またはpnpm iyarn)を実行して、プロジェクトのすべての依存関係をインストールしてから、npm run devで開発サーバーを起動するようにしよう。これにより、不足しているパッケージによるエラーを防ぐことができる。また、常に最新のNode.jsのLTS(Long Term Support)バージョンを使用することを推奨する。LTSバージョンは安定性と長期的なサポートが保証されており、新しい機能のサポートも提供されるため、開発環境を最新の状態に保つのに役立つ。

まとめると、ViteとReactを使ったプロジェクトで「Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@vitejs/plugin-react'」というエラーに遭遇した場合、主な原因は@vitejs/plugin-reactがプロジェクトにインストールされていないことだ。解決策はシンプルで、npm i -D @vitejs/plugin-reactを実行してプラグインをインストールする。それでも問題が解決しない場合は、Node.jsのバージョンがViteの要件(通常はNode.js 18以上)を満たしているかを確認し、必要に応じてnode_modulesディレクトリとpackage-lock.jsonファイルを削除してから、依存関係を再度クリーンインストール(npm i)してみよう。これらの手順を踏むことで、ほとんどのケースで開発サーバーが正常に起動し、スムーズにViteとReactを使ったアプリケーション開発を進めることができるだろう。

関連コンテンツ

関連IT用語