« [Ruby] Rails 3.0.10 から Rails 3.1.0 へのアップデートして撃沈 | トップページ | [Ruby] やっと Rails 3.1.0 にバージョンアップしたときのエラーを解消できた »

2011年9月 4日 (日)

[Ruby] Rails 3.1.0を動作させるためにnodejsをインストールした。

順番が逆だけど、rails 3.1.0を試してみた。


$ rails -v
Rails 3.1.0
$ rails new myapp310
....
run bundle install
...

bundle install が実行されるのか


$ cd myapp310
$ rails server
/usr/local/ruby192p290/lib/ruby/gems/1.9.1/gems/execjs-1.2.4/lib/execjs/runtimes.rb: \
45:in `autodetect': Could not find a JavaScript runtime.
See https://github.com/sstephenson/execjs for a list of available runtimes.
(ExecJS::RuntimeUnavailable)

ということで実行できず。


JavaScript の処理系が必要だということらしい。
で、何が必要かと思ってざっとruntimes.rb を見てみたところ


def self.runtimes
@runtimes ||= [
RubyRacer,
RubyRhino,
Johnson,
Mustang,
Node,
JavaScriptCore,
SpiderMonkey,
JScript
]
end

と書いてあって、どうやら、このうちどれかをインストールすれば良いらしい。


AWDwR 4th Edition を見ると、Ubuntu 11.04 のインストールの例があって nodejs をインストールするように書いてある。
まだ、Ubuntu 10.04を使っている自分は、apt-get で nodejs をインストールできないのだよな。
ああ、もう、なんかいろいろ面倒くさいなあ。


nodejs をインストール。一応 stable 版の 0.4.11 をインストールすることにした。
Python 2.6 以降と、libssl-dev が必要だと書いてある ので
インストールされていることを確認した後で、


$ mkdir ~/work
$ cd ~/work
$ tar zxvf node-v0.4.11.tar.gz
$ cd node-v0.4.11
$ ./configure
$ make
$ sudo make install
$ node -v
v0.4.11

インストールできた。


では改めて


$ cd ~/rails/myapp310
$ rails server
=> Booting WEBrick
=> Rails 3.1.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-09-04 21:24:12] INFO WEBrick 1.3.1
[2011-09-04 21:24:12] INFO ruby 1.9.2 (2011-07-09) [i686-linux]
[2011-09-04 21:24:12] INFO WEBrick::HTTPServer#start: pid=7762 port=3000

やっと動いた。


ちなみに、bundle install の実行をやめたいときには、--skip-bundle を指定して


$ rails new myapp310 --skip-bundle

とすればいい。

|

« [Ruby] Rails 3.0.10 から Rails 3.1.0 へのアップデートして撃沈 | トップページ | [Ruby] やっと Rails 3.1.0 にバージョンアップしたときのエラーを解消できた »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [Ruby] Rails 3.1.0を動作させるためにnodejsをインストールした。:

« [Ruby] Rails 3.0.10 から Rails 3.1.0 へのアップデートして撃沈 | トップページ | [Ruby] やっと Rails 3.1.0 にバージョンアップしたときのエラーを解消できた »