こんにちは。たなかです。
普段はRailsを使ってWeb開発しています。先日、以下のようなエラーに遭遇したので、備忘録的に書いておきます。
もくじ
症状
rails s時に画面で以下のエラー。
ActionView::Template::Error (Autoprefixer doesn’t support Node v4.8.2. Update it.):
解決方法
gemにmini_racerを追記してbundle install
まずはやってみます。
Gemfileに以下を追加
gem 'mini_racer', platforms: :ruby
すでに記載されていて、コメントアウトされているような場合はコメントアウトを解除してあげましょう。
追記できたらbundle install。rails sし直してみると…
Completed 200 OK in 16061ms (Views: 15991.0ms | ActiveRecord: 0.0ms)
200OKで画面がエラーが無事解消できました!やったー!
まとめ
一見nodeの問題のように見えるこのエラーが、実はmini_racerの導入だけで済むとは…って感じです。
あんまりよくわかっていませんが、mini_racerははRubyからJavaScriptを叩くために必要なgemで「therubyracer」ってやつの後継にあたるものらしいっすね。
以下は勝手な推測であってるか不明ですが、
Rubyが「JS叩けないんだけど!」で怒る
↓
「普通サーバーにNode入れて解決するでしょ」と解釈して「Node更新したら?」と提案してくれる
↓
ただ今回はその辺をよしなにやってくれるmini_racerを導入したことで、「JS叩けた!」とRubyが喜んでくれる
↓
ハッピーエンド
ってことなのかなと。
とりあえず無駄にnode入れ直して…とかやらなくて済んだのでよかった。
短いですが今回はここまで。