LoginSignup
7
4

More than 3 years have passed since last update.

Win上でRails+Bootstrapを構築の時に出てくるExecJS エラーを解決したい(解決する)

Last updated at Posted at 2019-08-27

はじめに

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/
推奨版と最新版があって、最新版をダウンロードしたくはなりますが、
ここはその気持ちを押し殺して推奨版をダウンロードします。その後インストールをしてください。
nodejs.org_ja_download_.png

その後Windowsで環境変数の設定を開き、PATHを通してください。
PATHの通し方はこちらを参考にするといいです。
いろんな方法がありますね。
https://qiita.com/yuki12/items/9723f60907508b11504b

最後にコマンドプロンプト or Gitbash or PowerShellを開いて
下記のコマンドを入力し、バージョンが表示されるか確認してください。

$ node -v

config/boot.rbに追記する。

下記のコードを貼り付けてください。
runtime時にnodeを使うように指示します。

config/boot.rb
ENV['EXECJS_RUNTIME'] = 'Node'

サーバーを再起動

サーバーを再起動して、エラーが出ないか確認してください。

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4