2011-09-11 13 views
11

Próbowałem używać Railsów i kiedy używam prowizji, otrzymuję ten błąd. Wszelkie sugestie, w jakim czasie powinienem używać?Szyny, grabie nie działa

[email protected]:~/RailsProjects/webuiltit$ rake db:create:all --trace 
rake aborted! 
Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.2.4/lib/execjs/runtimes.rb:45:in `autodetect' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.2.4/lib/execjs.rb:5:in `<module:ExecJS>' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.2.4/lib/execjs.rb:4:in `<top (required)>' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `<top (required)>' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `require' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `<top (required)>' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/coffee-rails-3.1.0/lib/coffee-rails.rb:1:in `require' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/coffee-rails-3.1.0/lib/coffee-rails.rb:1:in `<top (required)>' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `require' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `block (2 levels) in require' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `each' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `block in require' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `each' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `require' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler.rb:120:in `require' 
/home/ngzhongqin/RailsProjects/webuiltit/config/application.rb:13:in `<top (required)>' 
/home/ngzhongqin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
/home/ngzhongqin/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
/home/ngzhongqin/RailsProjects/webuiltit/Rakefile:5:in `<top (required)>' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load_rakefile' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:495:in `raw_load_rakefile' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:78:in `block in load_rakefile' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:61:in `block in run' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:59:in `run' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/bin/rake:32:in `<top (required)>' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/bin/rake:19:in `load' 
/home/ngzhongqin/.rvm/gems/ruby-1.9.2-p290/bin/rake:19:in `<main>' 
+0

Czy nadal robi 'rake db: create: wszystko'? czy próbowałeś "rake db: create"? Czy otrzymujesz ten sam błąd podczas próby uruchomienia serwera (serwer skryptów/rails dla rails3, script/server dla rails2)? –

Odpowiedz

0

Musisz zainstalować środowisko wykonawcze dla nich .. kilka dobrych opcji są

therubyracer - Google V8 embedded within Ruby

therubyrhino - Mozilla Rhino embedded within JRuby

Johnson - Mozilla SpiderMonkey embedded within Ruby

Mustang - Mustang V8 embedded within Ruby

Node.js

Apple JavaScriptCore - Included with Mac OS X

Mozilla SpiderMonkey

Microsoft Windows Script Host (JScript)

można znaleźć więcej szczegółów na https://github.com/sstephenson/execjs

+2

"terubiarstwo" pracował dla mnie. Używam Ubuntu –

+14

-1, Brak polecenia lub bezpośredniego rozwiązania pod warunkiem, że tylko ogólne informacje, które tylko mylą mnie jako początkującego rails. – Tarrasch

+0

@tarrasch, dlaczego plakat powinien zawierać polecenie, abyś ślepo wkleił się do swojej powłoki? Szereg kroków zależy od zainstalowanej dystrybucji i pakietu, który chcesz zainstalować, aby spełnić wymagania. –

31

Dodaj to do swojej Gemfile

gem 'therubyracer', require: "v8"

i uruchomić

bundle install

+2

Robię to po zainstalowaniu klejnotu 'therubyracer', a na końcu działa. Dziękuję bardzo. – caarlos0

+2

Musiałem odkomentować tę linię z mojego GemFile –

+0

Warto zauważyć, najwyraźniej instalacja samego 'termubyracera' nie działa. * ... Można by pomyśleć, że' execjs' automatycznie wybierze najlepsze dostępne środowisko wykonawcze ([ twierdzi) (https://github.com/sstephenson/execjs)), ale z jakiegoś powodu * musisz * dodać odpowiednią linię do swojej 'Gemfile'. (Być może jest to "cecha" Bundlera, gdzie ukrywa się klejnoty nie w "Gemfile"?) –

11

Mam zainstalowaną gem therubyracer, execjs Mustang ale nic nie działało.

Na moim linux (ubuntu) Komenda

sudo apt-get install nodejs 

spełnił swoje zadanie w końcu dla mnie.

Może ten post może być również pomocne: https://github.com/intridea/rails_wizard/issues/31

+0

dziękuję .. tylko to działało dla mnie! –

+0

Tak! To był ten. Ubuntu Rails321 ruby192 –

+0

Uwaga, aby uzyskać 'execjs', aby" wykryć "zainstalowany klejnot dla' therubyracer', musisz * dodać * linię do swojego 'Gemfile':' gem 'therubyracer', wymaga: "v8" '. Podobno Bundler ukrywa dostęp do klejnotów, które nie są tam określone (w 'Gemfile'). Instalacja 'nodejs' przez' apt-get' będzie oczywiście również działać (ale ten pakiet nie jest dostępny na wszystkich systemach Linux, takich jak obecna stabilna wersja Debiana). –