Panda Noir

JavaScript の限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。

Can't load the js.babel riot parser: Error: Cannot find module 'babel-core' と出たときの解決方法

riotのプリコンパイル

$: riot --type babel ./ ./
Error: Can't load the js.babel riot parser: Error: Cannot find module 'babel-core'

みたいなエラーが起きてしばらくの間悩んでたのでメモ。

解決策

npm install -g babel-core

とりあえずこれで解決しました。あとはbabelとか適当にインストールすると解決するかもしれません。

直るまでの過程

  1. riot --type babel ./ ./ を実行してみる
  2. エラーが起きる
  3. babel周りが足りてないのではと疑ってみる
  4. babelをグローバルに、babel-coreとbabel-preset-es2015-riotをローカルにインストール
  5. 直らず
  6. babelをローカルにインストール
  7. 直らず
  8. babel-coreをグローバルにインストール
  9. 直った

まあこの間にいろいろ別なもの(babel-loaderとか)インストールしたり色々したりしてました。

多分ポイントはbabelとbabel-coreをインストールすることだと思います。babel-coreはグローバルに、babelはどっちかよくわかりません(多分ローカルだけでOK、あるいはローカルすらいらないかも)。

イマイチnpmの仕組みわかってないのでなんでこれでOKなのかはよくわかりません…babel-coreをローカルにインストールする例もネットにごろごろ転がっていますし…まあとりあえずこれで解決はできます。