はじめに

rails serverコマンドで起動し、http://localhost:3000/tasksと実行でエラーになりました。今回のエラーの改善をメモしておきます。
※rails generate scaffold taskを実行しマイグレーション実行後

エラーの改善について

詳細エラー内容

エラー時に下記のエラーが表示されました

ExecJS::RuntimeUnavailable in Tasks#index

ActionView::Template::Error (Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
  (in /home/vagrant/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/turbolinks-2.5.3/lib/assets/javascripts/turbolinks.js.coffee)):
    3: <head>
    4:   <title>Todo</title>
    5:   <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
    6:   <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
    7:   <%= csrf_meta_tags %>
    8: </head>
    9: <body>
  app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___192686316235003344_70012938766400'

原因

どうやらnodejsがインストールされていないことが原因のようです。

参考:
https://teamtreehouse.com/forum/cant-reach-todolists-error-execjsruntimeunavailable-in-todolistsindex

改善

nodejsをepelリポジトリを入れてインストールします

$ rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ sudo yum install nodejs npm --enablerepo=epel

ここまで実行し、再度 rails serverで起動してブラウザで確認すると正常に表示されるようになりました。

nodejsインストールで『Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again』になる場合

yumでnodejsインストール時に手持ち環境でエラーが発生しました。
この場合は下記サイトを参考に修正することができました。

$ vi /etc/yum.repos.d/epel.repo

#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
↓
baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

参考:
http://d.hatena.ne.jp/C_6B4A2B/20130427/1367073209

その他おすすめの備忘録

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>