A Little Each Day

note to self

Railsアプリをデプロイするときにjavascript runtimeが見つからないエラーを解決する

こんにちは。本日はcapistranoでデプロイした時にjavascript runtimeのエラーが発生した場合の解決方法についてです。

エラーメッセージ

capistranoとかを使ってRailsアプリをデプロイすると以下のようなエラーメッセージがターミナルに表示されると思います。

Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.


Railsアプリを本番環境などで動作させるにはjavascript runtimeが必要になります。


解決策

解決策としては 1. therubyracerをインストールするか、2. node.jsとかをサーバーにインストールする方法があります。

therubyracerの場合

この場合はもともとGemに書いてある以下の部分をコメントアウトすればOKです。

gem 'therubyracer', platforms: :ruby


Gemに追加したのでbundle installをしましょう。

$ bundle install

node.jsの場合

Railsアプリをデプロイするサーバーに直接javascript runtime(今回はnode.js)をインストールします。

$ sudo yum install -y nodejs


以上で動作するはずです。

(サーバーを再起動したほうがいいかもしれません。)



本日は以上です。