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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

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

Q&A

解決済

1回答

399閲覧

Rails での ExecJS::RuntimeError

wwuuccccii

総合スコア13

Ruby on Rails 5

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

0グッド

0クリップ

投稿2018/02/21 01:24

localhostでのアプリのホーム画面へアクセスすると以下のようなエラーが出ます。
色々試してみましたが上手くいかず…
どなたか解決策をお教えください。

エラーメッセージ

ExecJS::RuntimeError in Pages#home Showing C:/Users/ユーザー名/Desktop/omruby/app/views/layouts/application.html.erb where line #7 raised:

app/views/layouts/application.html.erb

html.erb

1 2 3<!DOCTYPE html> 4<html> 5 <head> 6 <title>One Month Rails Project</title> 7 <%= csrf_meta_tags %> 8 9 <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 10 <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> 11 </head> 12 13 <body> 14 15 <!-- Navigation Bar --> 16 <nav class="navbar navbar-toggleable-sm navbar-inverse bg-inverse"> 17 <div class="container"> 18 <%= link_to "One Month Rails", root_path, class: "navbar-brand" %> 19 <ul class="navbar-nav"> 20 <li class="nav-item"><%= link_to "Home", root_path, class: "nav-link" %></li> 21 <li class="nav-item"><%= link_to "About", about_path, class: "nav-link" %></li> 22 <li class="nav-item"><%= link_to "Contact", "#", class: "nav-link" %></li> 23 <% if user_signed_in? %> 24 <li class="nav-item pull-md-right"><%= link_to "Log out", signout_path, method: :delete, class: "nav-link" %></li> 25 <% else %> 26 <li class="nav-item pull-md-right"><%= link_to "Sign up", signup_path, class: "btn btn-primary" %></li> 27 <li class="nav-item pull-md-right"><%= link_to "Sign in", signin_path, class: "nav-link" %></li> 28 <% end %> 29 </ul> 30 </div> 31 </nav> 32 33 <!-- Flash Messages --> 34 <% flash.each do |name, message| %> 35 <%= content_tag(:div, message, class: "alert alert-info #{name}") %> 36 <% end %> 37 <p class="notice"><%= notice %></p> 38 <p class="alert"><%= alert %></p> 39 40 <!-- Page Content --> 41 <%= yield %> 42 43 <!-- Footer --> 44 <footer class="small text-muted"> 45 <div class="container"> 46 <hr> 47 <center> 48 <p>© 2016 One Month</p> 49 </center> 50 </div> 51 </footer> 52 53 </body> 54</html>

試したこと

①node.jsのアップデート
node -vv9.5.0 と確認しました

②execjsを読み込む
gem install execjs の後
Gemfileに gem 'execjs' を追加
bundle install してサーバーを立ち上げ直しました

③application.html.erb で読み込むファイルを変更
stylesheet_link_tag 'application' => stylesheet_link_tag 'default' に変更しました
(default.scss には何も記述していません)

④therubyracerを読み込む
Gemfileに gem 'therubyracer', platforms: :ruby を追加
bundle install してサーバーを立ち上げ直しました

⑤runtimes.rbを編集
JScript = ExternalRuntime.new( で始まる箇所を以下の通り変更
サーバーを立ち上げ直しました

ruby

1JScript = ExternalRuntime.new( 2 :name => "JScript", 3 :command => "cscript //E:jscript //Nologo", 4 :runner_path => ExecJS.root + "/support/jscript_runner.js", 5 :encoding => 'UTF-8' # CScript with //U returns UTF-16LE 6)

現在のGemfile

source 'https://rubygems.org' ruby "2.3.3" git_source(:github) do |repo_name| repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") "https://github.com/#{repo_name}.git" end gem 'rails', '~> 5.1.3' group :production do gem 'pg' end gem 'puma', '~> 3.7' gem 'sass-rails', '~> 5.0' gem 'uglifier', '>= 1.3.0' gem 'coffee-rails', '~> 4.2' gem 'turbolinks', '~> 5' gem 'jbuilder', '~> 2.5' gem 'bootstrap', '~> 4.0.0' gem 'jquery-rails' gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git', require: 'bcrypt' gem 'devise' gem 'activeadmin' gem 'execjs' gem 'therubyracer', platforms: :ruby gem 'acts_as_follower', github: 'tcocca/acts_as_follower', branch: 'master' group :development, :test do gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] gem 'capybara', '~> 2.13' gem 'selenium-webdriver' gem 'sqlite3' end group :development do gem 'web-console', '>= 3.3.0' end gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

ご回答よろしくお願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

gitにcommitしていなかったのを思い出して、
git add -Agit checkout -fで元の状態に戻しました。
herokuにデプロイしていたアプリのクローンも同様のエラーが起きていたので、
git statusを参照し、変更があったファイルについてクローンと比較しました。
しかし該当ファイルに何も違いはなく、エラーの原因は分からずじまいです。
どなたか原因を推測していただけると幸いです。

今回の流れ
①localhostでエラーがないことを確認
②herokuにデプロイ、エラーがないことを確認
③何かが起こる
④localhostでエラー
⑤herokuのクローンもlocalhostで同じエラー(heroku上ではエラーは無い)
git checkoutで元に戻す、localhostでエラーがないことを確認


git status の結果

On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: Gemfile modified: Gemfile.lock modified: app/assets/stylesheets/application.scss modified: app/assets/stylesheets/pages.scss modified: app/assets/stylesheets/signin_and_signup.scss modified: app/views/layouts/application.html.erb modified: app/views/users/show.html.erb modified: config/routes.rb Untracked files: (use "git add <file>..." to include in what will be committed) app/assets/stylesheets/default.scss no changes added to commit (use "git add" and/or "git commit -a")

投稿2018/02/22 02:38

wwuuccccii

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問