Roby on Railsの環境を用意しないといけなくなったので、Ubuntuでの構築方法を調べていたところ、インストールの中に、Sqlite3-devとNode.jsがあった。Sqlite3-devは、Railsの管理のために必要ということなので、納得。だが、Node.jsがわからない。Node.jsはサーバサイドのJavaScript実行環境なので、rubyは関係ない。関係ないが、Railsには必要だという。気持ち悪いので、調べた。
それでわかったことは
- Rails3.1以降、Ubuntuでの開発にはJavaScriptのランタイムが必要になった。
- JavaScriptのランタイムは、Railsアセットパイプライン(Rails asset pipeline)のコードをコンパイルするのに必要。
- Node.jsをインストールすることで、サーバサイドでのJavaScriptの実行環境が整う。
- 参照元: http://railsapps.github.io/installrubyonrails-ubuntu.html
ということ。Railsの一部をコンパイルするときにJavaScriptのランタイムが必要で、それを準備するための最適解がNode.jsのインストール。すっきり。
なお、Node.jsをインストールしない場合は、ビルドするRailsアプリケーションのGemfileに下記の設定追加が必要。
gem 'therubyracer'