Believe you can

If you can dream it, you can do it.

Elm入門でつまずいた環境構築

前回の記事を活かそうと早速Elmに入門することにしました

市ヶ谷Geek★Night #18 フロントエンド、マジ卍(#ichigayageek)に参加してきました - てっしーの雑記

そしたら登壇者である @ さんから連絡をいただき、ハンズオンの実験台wをさせていただくことになりました

つまづいた環境構築

@ さんの

Elmの開発環境を整えて、HelloWorldをするまで · GitHub

に沿って作るだけのハズでした

$ node -v
v10.5.0
$ npm install -g create-elm-app
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
/usr/local/var/nodebrew/node/v10.5.0/bin/elm-app -> /usr/local/var/nodebrew/node/v10.5.0/lib/node_modules/create-elm-app/bin/elm-app-cli.js
/usr/local/var/nodebrew/node/v10.5.0/bin/create-elm-app -> /usr/local/var/nodebrew/node/v10.5.0/lib/node_modules/create-elm-app/bin/create-elm-app-cli.js

> fsevents@1.1.2 install /usr/local/var/nodebrew/node/v10.5.0/lib/node_modules/create-elm-app/node_modules/elm-test/node_modules/fsevents
> node install

node-pre-gyp ERR! Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.2/fse-v1.1.2-node-v64-darwin-x64.tar.gz 
node-pre-gyp ERR! Pre-built binaries not found for fsevents@1.1.2 and node@10.5.0 (node-v64 ABI) (falling back to source compile with node-gyp) 
node-pre-gyp ERR! Tried to download(undefined): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.2/fse-v1.1.2-node-v64-darwin-x64.tar.gz 
node-pre-gyp ERR! Pre-built binaries not found for fsevents@1.1.2 and node@10.5.0 (node-v64 ABI) (falling back to source compile with node-gyp) 
[以下省略]

fsevents が 404?
意味わからん。。。

悩んでいると @ さんから情報が届きます

なるほど、nodeのバージョンを下げればいいのね

$ node -v
v9.11.2
$ npm install -g create-elm-app
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
/usr/local/var/nodebrew/node/v9.11.2/bin/elm-app -> /usr/local/var/nodebrew/node/v9.11.2/lib/node_modules/create-elm-app/bin/elm-app-cli.js
/usr/local/var/nodebrew/node/v9.11.2/bin/create-elm-app -> /usr/local/var/nodebrew/node/v9.11.2/lib/node_modules/create-elm-app/bin/create-elm-app-cli.js

> fsevents@1.1.2 install /usr/local/var/nodebrew/node/v9.11.2/lib/node_modules/create-elm-app/node_modules/elm-test/node_modules/fsevents
> node install

node-pre-gyp ERR! Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.2/fse-v1.1.2-node-v59-darwin-x64.tar.gz 
node-pre-gyp ERR! Pre-built binaries not found for fsevents@1.1.2 and node@9.11.2 (node-v59 ABI) (falling back to source compile with node-gyp) 
[以下省略]

うーーん、若干変わったとはいえエラーになる。。
もう手動で入れるかってことで npm install -g fsevents を行い無事 create-elm-app も入りました

会社PCでも同じ症状

後日、会社でもElmをやれるようにと環境を作っているとやっぱり同じエラーが発生してしまいました。。
思い切ってもう一つバージョン下げてやるかってことで試すことに

$ node -v
v8.11.3
$ npm install -g create-elm-app
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
/usr/local/var/nodebrew/node/v8.11.3/bin/elm-app -> /usr/local/var/nodebrew/node/v8.11.3/lib/node_modules/create-elm-app/bin/elm-app-cli.js
/usr/local/var/nodebrew/node/v8.11.3/bin/create-elm-app -> /usr/local/var/nodebrew/node/v8.11.3/lib/node_modules/create-elm-app/bin/create-elm-app-cli.js
npm WARN ajv-keywords@3.2.0 requires a peer of ajv@^6.0.0 but none is installed. You must install peer dependencies yourself.

+ create-elm-app@1.10.4
updated 5 packages in 30.756s

ワーニングはあるもののエラーなく入ったし。。。

結論

結局のところ理由もわからないままではありますが、nodeのバージョンがV10,9で create-elm-app がインストールできない場合は、V8まで下げてみるのも一つの案かと思います
もし、原因 に心当たりがある方はコメントもらえるとうれしいです
今まで避けてきたnode、やっぱ難しい。。。

後日談
node.jsの安定版はV8系ということで素直にV8を使うのが良さげということで締めたいと思います^^;