react-create-appで作ったappがビルドエラーになる (解決)

以前react-create-appで作ったアプリを公開できておらず,先日GCEでサーバを立て,ようやく公開するぞ!と思ったらビルドエラーになって嵌ったので,解決方法を残しておきます。

GCE上でビルドするとエラーになったので調査。

$ npm run build

> webtxtdiff@0.0.1 build webtxtdiff
> react-scripts build

Creating an optimized production build...  
Failed to create a production build. Reason:  
Module not found: Error: Cannot resolve module 'react/lib/EventPluginHub' in node_modules/react-tap-event-plugin/src

npm ERR! Linux 4.4.0-47-generic  
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "build"  
npm ERR! node v6.9.1  
npm ERR! npm  v4.0.3  
  • エラーメッセージを確認する前に,まずはローカルでビルドしてみる。 → OK
  • GCE上の問題? と思って悩んでしまったのがバッドエンディング。。
  • 改めてエラーメッセージを読むと 'react/lib/EventPluginHub' in node_modules/react-tap-event-plugin/src と思いっきり書いてある。
  • ローカル環境のnode_module/react/package.jsonを見ると15.3.1。GCE環境のreactを見ると15.4.1になっている
  • react-tap-event-pluginのreleasesを確認するとreact 15.4未満とは互換性ないよと書いてある →「これだ」
  • package.jsonのreact-tap-event-pluginを2.0以上にしてnpm installすることで解決しました。

Rockin' Work

(null)