Haciéndose un Hello World con Ruby on Rails en Debian, si ejecutamos
rails server
se cae porque no encuentra un Runtime para JavaScript (¿wtf?)
/var/lib/gems/1.8/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
Que por qué necesita un runtime de JS, no me queda claro. En la guía hay una explicación que dice que es para compilar CoffeeScript, nombre que me viene haciendo ruido hace un rato pero que aún no sé de qué se trata.
En el link que te dan >>hay una especie de librería que lo determina seudo-automáticamente pero lo instalé con
gem install execjs
y no pasó na’.
En la guía también dice que en el Gemfile hay una dependencia a therubyracer que, en efecto, podemos descomentar
# Gems used only for assets and not required # in production environments by default. group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' #SERÍA ÉSTA # See https://github.com/sstephenson/execjs#readme for more supported runtimes gem 'therubyracer', :platforms => :ruby gem 'uglifier', '>= 1.0.3' end
Después hay que ejecutar
bundle install
y funka !
=> Booting WEBrick => Rails 3.2.7 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2012-08-04 16:57:11] INFO WEBrick 1.3.1 [2012-08-04 16:57:11] INFO ruby 1.8.7 (2012-02-08) [x86_64-linux] [2012-08-04 16:57:16] INFO WEBrick::HTTPServer#start: pid=21698 port=3000