Wait a moment...

【プログラミング】Module not found: Can't resolve 'react-redux'が出た時の対処法【react-redux】

nem5.96xem (4)
1496
0
2019-09-30 15:03:36
【プログラミング】Module not found: Can't resolve 'react-redux'が出た時の対処法【react-redux】

現在javascript、node.js、React、Reduxの勉強をしているのですが、アプリ作成中にModule not found: Can't resolve 'react-redux'のエラーにハマり中々解決しなくて辛かったので解決方法をメモしときます。

 

まず警告として表示されたのが「プロジェクトの依存関係ツリーに問題がある可能性があります」「Create React Appのバグではない可能性がありますが、ローカルで修正する必要があるものです」というものです。

 

Create React Appが提供するreact-scriptsパッケージには、依存関係が必要なのですが、どうやらwebpack:4.40.2に対しツリーの上位で別のバージョンのwebpackが検出されたみたいです。

 

依存関係ツリーを修正するには、次の手順を順番に実行します。

 

  1. package-lock.json(package.jsonではない!)およびyarn.lockをプロジェクトフォルダーから削除。
  2. プロジェクトフォルダー内のnode_modulesを削除。
  3. プロジェクトフォルダーのpackage.jsonファイルの依存関係やdevDependenciesから「webpack」を削除。
  4. 使用するパッケージマネージャーに応じて、npm installまたはyarnを実行。

 

ほとんどの場合、これで問題を修正できます。

これが役に立たない場合、更に以下を試すことになります。

 

  1. npmを使用した場合は、yarnhttp://yarnpkg.com/)をインストールし、代わりに上記の手順を繰り返す。
  2. / Users / ******* / ********* / node_modules / webpackがプロジェクトディレクトリ外にあるかどうかを確認。
  3. プロジェクトフォルダーでnpm ls webpackを実行。これにより、webpackがインストールされた他のパッケージ(予想される反応スクリプト以外)がわかる。

 

それでも無理な場合は、SKIP_PREFLIGHT_CHECK = trueをプロジェクトの.envファイルに追加します。とりあえずその場をしのげると思います。

 

私の場合は最初の1〜4の手順を踏んだらいけました。

Dockerを利用しているのですが、最初にnode_modulesを指定していたのがよくなかったようです。

 

Module not found: Can't resolve 'react-redux'の対処が日本語のものが全然なくて苦労したので、もしこの記事が誰かの手助けになれば幸いです。

この記事を書いた人
趣味は読書(特に太宰治)、アニメ鑑賞(特に幾原作品)、旅行。 エンジニア見習い。 日々の色々を共有しながらnemのことについても学びたいと思います。