React NativeプロジェクトでFlowのよる型チェックが「Flow: Waitng for diagnostics」と表示され実行されない場合の対処方法
概要
React NativeのプロジェクトをReact Native CLIで新規作成し、Nuclideで開発を始めると以下のように「Flow: Waitng for diagnostics」と表示されFlowによる型チェックが実行されませんでした。
この記事は型チェックが正常に動くまで行ったことのメモです。
対処方法
1. Flowのバージョンを最新に更新
Flowのバージョンが0.37.4
であったので最新に更新します。
$ brew upgrade flow $ flow version Flow, a static type checker for JavaScript, version 0.38.0
Flowのバージョン最新にした結果問題は解決せず、Flowのバージョンが問題ではありませんでした。
2. .flowconfigを更新
ReactNativeプロジェクトの.flowconfig
を確認します。今回作成したプロジェクトでは以下のようになっていました。
[version] ^0.36.0
どうやら.flowconfig
で指定したバージョンとローカルにインストールしたFlowのバージョンが異なっていたのが原因のようです。
指定するバージョンを^0.38.0
に変更します。
[version] ^0.38.0
Nuclideをリスタートすると正常に型チェックが動作しました。
まとめ
- .flowconfigでFlowのバージョンを指定する場合ローカルのFlowのバージョンと合わせる
- Flowのバージョンが古い事は直接の原因では無かったが、常に最新のバージョンを使う用にする
- 問題が発生した時に原因を切り分けやすくなる