#はじめに
WindowsでRailsアプリケーションを作成し、
Bootstrapを導入したところ、ExecJSエラーが出て、起動しない。
- Windows 10 proもしくはhomeで確認
- Railsのバージョンは5.2.3
- Rubyのバージョンは2.6.3
最近Rails6にアップデートされたので、この記事は今後使えなくなる可能性があります。
#詳細
こんなエラーがターミナル上で出てるのではないでしょうか。
ExecJS::ProgramError in Home#index
Showing C:/Source/Repos/graph-tutorials/ruby-test/app/views/layouts/application.html.erb where line #8 raised:
identifier '(function(opts, pluginOpts) {return eval(process' undefined
Rails.root: C:/Source/Repos/graph-tutorials/ruby-test
#解決策
僕はこのissueをみて使えるようになりました。
https://github.com/twbs/bootstrap-rubygem/issues/157
#やり方
##1.Gemfileの修正
duktape
のgemを探してコメントアウト、もしくは削除します。
##2.Node.jsのインストール(Node.jsがインストールされていない場合のみ)
Node.jsの公式ページからダウンロードします。
https://nodejs.org/ja/download/
推奨版と最新版があって、最新版をダウンロードしたくはなりますが、
ここはその気持ちを押し殺して推奨版をダウンロードします。その後インストールをしてください。
その後Windowsで環境変数の設定を開き、PATHを通してください。
PATHの通し方はこちらを参考にするといいです。
いろんな方法がありますね。
https://qiita.com/yuki12/items/9723f60907508b11504b
最後にコマンドプロンプト or Gitbash or PowerShellを開いて
下記のコマンドを入力し、バージョンが表示されるか確認してください。
$ node -v
##config/boot.rb
に追記する。
下記のコードを貼り付けてください。
runtime時にnodeを使うように指示します。
ENV['EXECJS_RUNTIME'] = 'Node'
##サーバーを再起動
サーバーを再起動して、エラーが出ないか確認してください。