##サーバーを起動できない!
ある朝、サーバーを起動してさあ作業に取り掛かろう!ということで**$rails s**をしてサーバーを起動しようとすると、以下のエラーが発生しサーバーを起動することができない。
Gem Load Error is: Could not find a JavaScript runtime.
See https://github.com/rails/execjs for a list of available runtimes.
この時に解決するのがなかなか大変だったので、以後同じエラーが起きた時のための備忘録として書かせて頂きます。。
##2つの解決法
どうやら調べてみるとエラー内容は文字通り、JavaScriptのruntimeがないよということらしい。
過去にも同様の問題に遭遇した人の記事がたくさんあり、調べてみると大まかに2つの解決法があるらしい。
###Node.jsをインストールする
1つがこの方法。実際自分はこの方法で解決しました。
Node.jsをインストールするには以下の①②③のステップが必要らしい
①Homebrewをインストール
②nodebrewをインストール
③Node.jsをインストール
①Homebrewをインストール
ホームディレクトリで以下を実行
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Press RETURN to continue or any other key to abort
と出たらEnterキーを押す
Password:
と出たらパスワードを入力しEnterキーを押す(入力中のパスワードは表示されないがしっかりとは入力されている)
②nodebrewをインストール
brew install nodebrew
③Node.jsをインストール
$ brew install nodejs
最後にこれをインストールして、無事Node.jsのインストール完了
この後に再び$ rails s
をするとサーバーが起動するように!!
###Gemのtherubyracerを追加する
Node.jsのインストール以外に多くヒットしたもう1つがこの方法。
Gemfileに⬆️を追加して、コマンドで**$bundle install**するだけなので、こちらの方が簡単そうに見えるが、こちらはこちらでまたバージョン関係の別のエラーが発生してしまうことがあるらしい。(ここで発生するエラー内容については曖昧です)
##最後に
今回自分がサーバーを起動できない時の対処法を自分なりに噛み砕いてメモさせて頂きました。
もし間違ってる箇所や他にも対処法が存在する場合は、ご指摘してくださると幸いです🙇♂️