2012年5月14日月曜日

Ubuntu 12.04 rails 3.2.3 でrails sが動作しない

需要はないかもしれないけどメモ。

新しくUbuntuをインストールしなおし、今までと同じようにRuby on Railsの環境を設定していたら問題が発生した。rails sを実行すると
Could not find a JavaScript runtime.
これが出る。ここまでは以前解決した。
RailsにCoffeScriptが導入されたことでJavaScriptのエンジンが必須になったらしい。
それらに関しては、
railsをapacheで動作させる - わしのすけhttp://d.hatena.ne.jp/URI/20120204/p2Rails 3 の Gem 管理ツール Bundler を使う - ursmの日記http://d.hatena.ne.jp/ursm/20100111/1263219023JavaScriptエンジンをインストールする - 祈れ、そして働け ~ Ora et laborahttp://d.hatena.ne.jp/tetsuyai/20110920/1316487020#20110920f2
このへんに詳しい対策が載ってる。

要はGoogle製のエンジンであるtherubyracerをインストールすればよくて、RailsプロジェクトのルートにあるGemfileに
gem 'execjs'
gem 'therubyracer'

を追加し、bundle installをコマンドするだけでいいのだが、Bundle installを実行したら、今までは出なかった以下のエラー文が表示された。

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
        /usr/local/bin/ruby extconf.rb creating Makefile
makecompiling v8_string.cppmake: g++: コマンドが見つかりませんでしたmake: *** [v8_string.o] エラー 127


調べてみたら、g++がUbuntuにインストールされてないらしい。
sudo apt-get install build-essential
これでパッケージをインストールし、もう一度bundle installを実行したら無事サーバーを動かすことができた。

0 件のコメント:

コメントを投稿