Q&A
railsのプロジェクトで管理画面を作成しています。
フレームワークを利用したいと思い、gentelellaを使っています。
そこで、アセットコンパイル時に以下のエラーが発生しました。
ruby
1➜ sample git:(master) ✗ RAILS_ENV=production bundle exec rake assets:precompile assets:clean 2I, [2017-03-28T16:01:39.991251 #2838] INFO -- : Writing /home/vagrant/sample/public/assets/managements-ce5bbde790cbbd3fb594a30802b5b0e3c835829ea260d1617bea18ca1ac0125b.js 3I, [2017-03-28T16:01:39.995203 #2838] INFO -- : Writing /home/vagrant/sample/public/assets/managements-ce5bbde790cbbd3fb594a30802b5b0e3c835829ea260d1617bea18ca1ac0125b.js.gz 4I, [2017-03-28T16:02:30.263414 #2838] INFO -- : Writing /home/vagrant/sample/public/assets/webclip-883f3eae7b5c401d61ee3126a8f9a863dfa07c66a11028f9c31b665517ba1bc8.png 5rake aborted! 6ExecJS::RuntimeError: 7(execjs):1 8/home/vagrant/.rbenv/versions/2.3.1/bin/bundle:22:in `load' 9/home/vagrant/.rbenv/versions/2.3.1/bin/bundle:22:in `<main>' 10Tasks: TOP => assets:precompile 11(See full trace by running task with --trace)
そこで、怪しいと思った以下のCSSファイルの@import "gentelella"の部分をコメントアウトして再度実行しました。
・managements.css.scss
ruby
1// Place all the styles related to the managements controller here. 2// They will automatically be included in application.css. 3// You can use Sass (SCSS) here: http://sass-lang.com/ 4 5// *= require slick-sample 6// *= require slick-sample 7// *= require_tree ./managements 8// *= require_self 9 10//@import "gentelella"; 11//@import "gentelella-custom";
結果は以下の通り、問題なく実行されました。
ruby
1➜ sample git:(master) ✗ RAILS_ENV=production bundle exec rake assets:precompile assets:clean 2I, [2017-03-28T16:10:35.568963 #2887] INFO -- : Writing /home/vagrant/sample/public/assets/managements-95fda6ad4e37ee51a7a10b6e9cab1d70393cdc16dfdc02fa24b5abb2c8d91153.css 3I, [2017-03-28T16:10:35.569531 #2887] INFO -- : Writing /home/vagrant/sample/public/assets/managements-95fda6ad4e37ee51a7a10b6e9cab1d70393cdc16dfdc02fa24b5abb2c8d91153.css.gz 4I, [2017-03-28T16:11:41.836633 #2887] INFO -- : Writing /home/vagrant/sample/public/assets/application-4bdcdfa7e17393069ad59161728caffaa40bc7c4ef99bc6d4dc5f5165c2be329.js 5I, [2017-03-28T16:11:41.837260 #2887] INFO -- : Writing /home/vagrant/sample/public/assets/application-4bdcdfa7e17393069ad59161728caffaa40bc7c4ef99bc6d4dc5f5165c2be329.js.gz 6I, [2017-03-28T16:11:53.779014 #2887] INFO -- : Writing /home/vagrant/sample/public/assets/application-12dbe78f8bbaba7984b6ab127bac2c4fac2a96ee04f9b72a2067538743fb59dd.css 7I, [2017-03-28T16:11:53.779573 #2887] INFO -- : Writing /home/vagrant/sample/public/assets/application-12dbe78f8bbaba7984b6ab127bac2c4fac2a96ee04f9b72a2067538743fb59dd.css.gz
変更した点は、先ほどのmanagements.cssのgentelellaをインポートしていた2行をコメントアウトしただけです。
これにより、ExecJS::RuntimeError:というエラーの原因がgentelellaにあるのではないかと思っています。
しかしながら、解決方法がわかりかねています。
gentelellaを利用しつつ、問題なくアセットをプリコンパイル出来るようになる方法はないでしょうか??
よろしくお願い致します。。