React Native: Unable to start server: either install watchman or run the following snippet

React Native を試そうとしたところ、タイトルのようなエラーに遭遇しました。

エラーメッセージ

Getting Started のページに書かれている手順に従って、create-react-native-app でプロジェクトを生成し、npm start したところ、エラーになりました:

$ npm start
.....
18:36:24: Unable to start server
See https://git.io/v5vcn for more information, either install watchman or run the following snippet:
  sudo sysctl -w kern.maxfiles=5242880
  sudo sysctl -w kern.maxfilesperproc=524288
.....

いきなり出鼻をくじかれました。
多分、多くの日本人はここで諦めているでしょう。(冗談)

GitHubにもissueが上がっていますが、メッセージの通り、watchman をインストールする必要があるようです:

Ref. AwesomeProject@0.1.0 start: react-native-scripts start- ERR! Exit status 1 · Issue #382 · react-community/create-react-native-app

watchman のインストール

watchmanFacebookのツールなんですね。

自分の環境はMacなので、Homebrew で入れてみます。

Ref. Installation | Watchman

$ brew update
$ brew install watchman

この後 npm start するとうまくいきました。

端末でアプリを表示

ドキュメントにも書かれていますが、npm start するとQRコードが表示されるので、それを Expo のクライアントアプリで読むと、端末で作ったアプリが表示されます。

Expo のクライアントアプリは「Expo — Get Expo tools」の右下にある「Latest Expo Client」のリンクからダウンロードします。(同一ネットワーク内でないと表示できません。)

あと、この状態ですでにホットリロードが有効なので、App.js のテキストを変更すると、端末側にも即座に反映されておもしろいですね。