RailsでWEBrickサーバを動かそうとすると色々足りないと怒られる解決法。

UbuntuでRVMを利用してインストールしたRailsでWEBrickサーバを起動しようとすると、いろいろなランタイムが足りないというようなエラーがズラズラとでて動か来ませんでした。解決法を探すことが出来たので紹介します。

実際に発生するのはこんな感じのエラー。

$ rails s
/home/hama/.rvm/gems/ruby-1.9.3-p0/gems/execjs-1.3.0/lib/execjs/runtimes.rb:50:in `autodetect’: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
from /home/hama/.rvm/gems/ruby-1.9.3-p0/gems/execjs-1.3.0/lib/execjs.rb:5:in `<module:ExecJS>’

この後ろにいろいろ続きます。主にJavaScript関係のランタイムが足りないということの様子。

$ sudo gem update

してもだめ。RVM削除して入れなおしたりと色々試してみたけれどうまく行きませんでした。

ググッてみたら、やっぱり同じ問題に合っている人が出てきました。

On my linux (ubuntu) the command
sudo apt-get install nodejs
did the job finally for me.

わーお、サンキュー。早速試すと

$ sudo apt-get install nodejs
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
以下の特別パッケージがインストールされます:
libc-ares2 libev4 libv8-3.1.8.22
以下のパッケージが新たにインストールされます:
libc-ares2 libev4 libv8-3.1.8.22 nodejs
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 0 個。
1,938 kB のアーカイブを取得する必要があります。
この操作後に追加で 6,066 kB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://jp.archive.ubuntu.com/ubuntu/ oneiric/universe libv8-3.1.8.22 i386 3.1.8.22-1ubuntu2 [1,386 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu/ oneiric/main libc-ares2 i386 1.7.4-1 [37.3 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu/ oneiric/universe libev4 i386 1:4.04-1 [29.5 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu/ oneiric/universe nodejs i386 0.4.9-1ubuntu3 [486 kB]
1,938 kB を 3秒 で取得しました (571 kB/s)

ずらずら・・・。
さあ、気を撮り直してサーバを再起動。

$ rails s
=> Booting WEBrick
=> Rails 3.2.1 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-02-04 15:55:58] INFO WEBrick 1.3.1
[2012-02-04 15:55:58] INFO ruby 1.9.3 (2011-10-30) [i686-linux]
[2012-02-04 15:55:58] INFO WEBrick::HTTPServer#start: pid=8129 port=3000

バッチリうごきました!