【React Native】iOSアーカイブ時に「Can’t find the ‘node’ binary to build the React Native bundle.」エラーが発生

React Native の iOS アプリを App Store にアップロードするために Archive を実行したところ、タイトルにある通りのエラーが発生しました。
今までに見たことの無いエラーだったので、少し身構えましたが、無事解消できたので手順についてまとめ。

なお、エラーの全文は下記のとおりです。

Can’t find the ‘node’ binary to build the React Native bundle. If you have a non-standard Node.js installation, select your project in Xcode, find ‘Build Phases’ – ‘Bundle React Native code and images’ and change NODE_BINARY to an absolute path to your node executable. You can find it by invoking ‘which node’ in the terminal.

翻訳すると「ReactNativeバンドルをビルドするための「ノード」バイナリが見つかりません」とのことでした。
…で、どうすれば…?

 

対応にあたり、参考にさせていただいた記事はこちらから。

ReactNativeプロジェクトをXcodeでビルドしたときに「node.jsが見つからない」とエラーが出た時の対処方法 – Qiita
https://qiita.com/kabosu3d/items/bc4d9b1d80e221ca3e3e

こちらの記事では、ビルド実行時に私の環境と同じエラーが発生したようです。

対処法ですが、上記の記事によると下記のコマンドを実行すれば OK とのことです!

ln -s $(which node) /usr/local/bin/node

私はプロジェクト直下のディレクトリで実行しました。
特に成功メッセージ等は表示されませんでしたが、エラーっぽくなかったのでこれで OK のはず…?
ということで、再度アプリの Archive を実行したところ、今度はエラーが発生せずに成功しました!

別の方法として、プロジェクトの xcodeproj を書き換えてもできるみたいですが、上記コマンドの実行で解決したので、こちらはやりませんでした。
もし、今後同じエラーが再発した場合は、試してみる予定です。

 

以上、React Native の iOS アプリを Archive した際に「Can’t find the ‘node’ binary to build the React Native bundle.」エラーが発生した時の対処方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG