なぜ、Ruby on Railsの動作にNode.jsが必要なのか

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'
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする