ゼロから始めるJavaScript生活 をWindowsで試したら、flowでつまづいたときの話です。
元ネタ
- JavaScript Stack from Scratch
- 上記の日本語fork→ゼロから始めるJavaScript生活
- Qiitaでの紹介記事→ゼロから始めるJavaScript生活
環境
Windows7(64bit)
事象
12 - Flow のページで、gulpfile.babel.jsの"lint"タスクにflow()を追加した後の実行時に以下のエラーが発生する。
[19:01:18] Starting 'lint'...
events.js:160
throw er; // Unhandled 'error' event
^
Error: spawn D:\xxxxxxxx\node_modules\gulp-flowtype\node_modules\flow-bin\vendor\flow.exe ENOENT
at exports._errnoException (util.js:1022:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
at onErrorNT (internal/child_process.js:359:16)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickDomainCallback (internal/process/next_tick.js:122:9)
error Command failed with exit code 1.
対応
Windowsでやる場合、以下の対処を行うと動くようになった。
- flow-binをインストール
- インストールした.\node_modules\flow-binからflow-win64-v0.xx.0ディレクトリを.\node_modules\gulp-flowtype\node_modules\flow-binにコピー
- コピーしたflow-win64-v0.xx.0ディレクトリをvendorにrename
これでとりあえず動いたんですが、根本的な対処をご存じの方は教えてください。