Glide Note

glidenote's blog

Rails3.1 Could not find a JavaScript runtime.

普段業務で使ってる環境以外も勉強しないとやばいなーと思って、Railsを触ってるんですが、 Ruby力も、Rails力もなさ過ぎでいきなりつまずいたのでメモ。

環境

  • ruby 1.9.2p290 (2011-07-09 revision 32553) [x86 64-linux]
  • Rails 3.1.3

rails newで新規アプリを作成

1
2
3
rails new hoge
cd hoge
rake about

rake aboutで環境を確認すると

1
2
3
4
rake aborted!
Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.

(See full trace by running task with --trace)

JavaScriptのランタイムが検出できないとのエラーとのエラー。エラーでググってみると execjstherubyracerを導入すれば解決するとのことなので導入

1
2
3
echo "gem 'execjs'" >> Gemfile
echo "gem 'therubyracer'" >> Gemfile
bundle install

再度rake aboutを実行すると

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
rake about

About your application's environment
Ruby version              1.9.2 (x86_64-linux)
RubyGems version          1.8.10
Rack version              1.3
Rails version             3.1.3
JavaScript Runtime        therubyracer (V8)
Active Record version     3.1.3
Action Pack version       3.1.3
Active Resource version   3.1.3
Action Mailer version     3.1.3
Active Support version    3.1.3
Middleware                ActionDispatch::Static, Rack::Lock, #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x0000001c986b58>, Rack::Runtime, Rack::MethodOverride, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::RemoteIp, Rack::Sendfile, ActionDispatch::Reloader, ActionDispatch::Callbacks, ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, ActionDispatch::Head, Rack::ConditionalGet, Rack::ETag, ActionDispatch::BestStandardsSupport
Application root          /home/akira/work/hoge
Environment               development
Database adapter          sqlite3
Database schema version   

ちゃんと動作するようになりました。今年はRuby力とRails力を鍛えていきたいと思います。

参考

Comments