はのちゃ爆発

はのちゃが技術ネタとか日常のこととかを書いてます。

RailsチュートリアルでExecJS::RuntimeUnavailable

Railsが無事に立ち上がったので、
Getting Started with Rails — Ruby on Rails Guides
の、

4.2 Say "Hello", Rails

をやってみる。

bin/rails generate controller welcome index

と打ち込み、welcomeという名前のコントローラーを作る。
MVCモデルが実際どんなのか分からないから何を作ってるのかよく分かってない

これで、blogの中にwelcomeに関するファイルが幾つか生成される。
その中でも、

Most important of these are of course
the controller, located at app/controllers/welcome_controller.rb and
the view, located at app/views/welcome/index.html.erb.

と書いてある通り、welcome_controller.rbと
index.html.erbの2つのファイルが重要らしい。

とりあえず指示通りに、まずindex.html.erbの中身を

<h1>Hello, Rails!</h1>

にする。
このままではまだwelcomeはどこにも反映されていないので、
config/routes.rbファイルを編集する。

Rails.application.routes.draw do
  get 'welcome/index'
 
  # The priority is based upon order of creation:
  # first created -> highest priority.
  #
  # You can have the root of your site routed with "root"
  # root 'welcome#index'
  #
  # ...

このファイルの中の、コメントアウトされている"root 'welcome#index'"を
#を外して有効にする。
これによってwelcomeが有効になる…らしい。

いざ再アクセス…するのだが、ここでタイトルのエラーを吐く。
必要なライブラリが無いと怒られている。

エラーで検索するとbundleでどうのこうのという解決策がわんさか出てくる。
bundle使ってねぇよ!と思ったが、Gemfileとbundleが出てこない記事が無い。

チュートリアルを見ると、newした時にGemfileが生成されており、
対処法もその中のコメントアウトを外せ、というものが多い。
ので、とりあえず指示に従う。

でもbundleなくね?
…もしかしてbinに入ってたりする?と思って覗いてみるとbundleが。
試しに以下のコマンドを打ってみる。

bin/bundle install

動いた。
なんかいろいろインストールされたが無事終了したようなので、
再びサーバを起動して試験…無事表示された。