質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.34%

  • JavaScript

    17512questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • Ruby on Rails

    7666questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

【不思議】いつもじゃなくて、たまにExecJS::RuntimeErrorになるのはなぜ?

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 850

gogoackman3

score 90

vagrantのローカル環境からbitbucketにpushする前にいつも、以下のコマンドでアセットをプリコンパイルしています。

RAILS_ENV=production bundle exec rake assets:precompile assets:clean 

しかし、最近、ちょいちょい以下のエラーになります。

git:(master) ✗ RAILS_ENV=production bundle exec rake assets:precompile assets:clean
rake aborted!
ExecJS::RuntimeError: 
(execjs):1
/home/vagrant/.rbenv/versions/2.3.1/bin/bundle:22:in `load'
/home/vagrant/.rbenv/versions/2.3.1/bin/bundle:22:in `<main>'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

今の所、vagrantを再起動すると問題なくプリコンパイル出来るようになるので、適時それで対応しているのですが、これは何が要因なのでしょうか?

一応gemfileとnode.jsの情報を記載致します。

node.jsのバージョン

node -v
v0.10.48

gemfile

source 'https://rubygems.org'


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
  gem 'rails', '~> 5.0.0'
# Use mysql as the database for Active Record
  gem 'mysql2','>=0.3.18','< 0.5'
# Use Puma as the app server
  gem 'puma', '~> 3.0'
# Us SCSS for stylesheets
  gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
  gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
  gem 'coffee-rails', '~> 4.2.0'

# Use jquery as the JavaScript library
  gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
  gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
  gem 'jbuilder', '~> 2.5'
# bundle exec rake doc:rails generates the API under doc/api.
#gem 'sdoc', '~> 0.4.0', group: :doc

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Unicorn as the app server
# gem 'unicorn'

gem 'slim-rails'

# Use Capistrano for deployment
group :development do
  gem 'capistrano-rails'
  gem 'capistrano-rbenv'
  gem 'capistrano3-puma'

  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'
  gem 'listen', '~> 3.0.5'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platform: :mri
end

group :production do
  # See https://github.com/rails/execjs#readme for more supported runtimes
  # gem 'therubyracer', platforms: :ruby
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

# https://github.com/kossnocorp/jquery.turbolinks
gem 'jquery-turbolinks'

# https://github.com/svenfuchs/rails-i18n
gem 'rails-i18n', '~> 5.0.0'

# https://github.com/plataformatec/devise
gem 'devise'

# gem 'omniauth'
# gem 'omniauth-twitter'

# https://github.com/tigrish/devise-i18n
gem 'devise-i18n'

# https://github.com/carrierwaveuploader/carrierwave
gem 'carrierwave'

# https://github.com/kuroda/mail-iso-2022-jp
gem 'mail-iso-2022-jp'

# https://github.com/amatsuda/kaminari
gem 'kaminari'

gem 'fog'

# https://github.com/minimagick/minimagick
gem 'mini_magick'

gem 'rmagick', require: 'rmagick'

# https://github.com/alfa-jpn/kakurenbo-puti
gem 'kakurenbo-puti'

# https://github.com/leppert/remotipart
gem 'remotipart', '~> 1.3', '>= 1.3.1'

# ----------SEO-------------
# https://github.com/kpumuk/meta-tags
gem 'meta-tags', require: 'meta_tags'

# https://github.com/ankane/searchkick
# https://rubyplus.com/articles/4031-Autocomplete-using-Typeahead-and-Searchkick-in-Rails-5
# gem 'searchkick'

# https://github.com/k0kubun/rack-user_agent
gem 'rack-user_agent'

gem 'font-awesome-rails'
gem 'jquery-ui-rails'

# https://github.com/mwlang/gentelella-rails
gem 'gentelella-rails'

gem 'redis'
gem 'redis-rails'

# https://github.com/lassebunk/gretel
gem "gretel"

gem 'chart-js-rails'

therubyracerは入れていませんが、node.jsを入れているので問題ないと思っています。
このエラーに遭遇するまでnode.jsさえ入れてなかったのですが、問題なくプリコンパイルできていました。
このエラーが出たので、node.jsを入れて、発生頻度が100%ではなくなったという状況です。
(もしかしたら、node.js入れなくても最初からvagrant再起動すれば問題なかったのかも知れません。)

他に気になる点としては、これもたまになのですが、viewで以下のようなエラーが発生します。

ActionView::Template::Error (can't add a new key into hash during iteration):
    4:     meta charset="UTF-8"
    5:     title  サービス名
    6:     = csrf_meta_tags
    7:     = stylesheet_link_tag    'managements', 'data-turbolinks-track': 'reload', media: 'all'
    8:     = javascript_include_tag 'managements', 'data-turbolinks-track': 'reload'
    9:     meta name="robots" content="noindex,nofollow"
   10:

なんとなく、どちらの問題も根源は同じのような気がするのですが、分かりません。

再現性が100%ではないのも気持ちが悪いです。

このような事象について、原因となるものが何か検討がつく方はいらっしゃいますでしょうか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.34%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • JavaScript

    17512questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • Ruby on Rails

    7666questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。