2011-09-11 14 views
11

私はRailsを使用しようとしていましたが、rakeを使用するとこのエラーが発生します。どのランタイムを使用するべきですか?Rails、rake does not work

[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

は、あなたはまだ「:作成:すべてのすくいデシベル」をやっていますか? 'rake db:create'を試してみましたか?また、サーバー(rails3のscript/railsサーバー、rails2のscript/server)を実行しようとして同じエラーが発生しますか? –

答えて

0

実行

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)

私は宝石therubyracer、execjs、ムスタングをインストールしましたが、何も働いていないhttps://github.com/sstephenson/execjs

+2

「therabyracer」が私のために働いていました。 私はUbuntu –

+14

-1を使用していますが、コマンドや直接的な解決策はまったく提供されていません。一般的な情報はレールの初心者として混乱させます。 – Tarrasch

+0

@tarraschポスターが盲目的にあなたのシェルに貼り付けるコマンドを提供するのはなぜですか?この一連の手順は、インストールされたディストリビューションと、要件を満たすためにインストールするパッケージによって異なります。 –

31

あなたのGemfile

gem 'therubyracer', require: "v8"

にこれを追加し、良いオプションの一部である

bundle install

あなたは。これらのランタイムをインストールする必要があり
+2

私は 'therubyracer' gemをインストールした後にこれを行い、最後に動作します。どうもありがとう。 – caarlos0

+2

私はGemFileからこの行のコメントを外さなければなりませんでした –

+0

'therubyracer'という宝石だけをインストールすることは明らかです*' execjs'は自動的に最適な実行可能ファイルを選択しますそれは(https://github.com/sstephenson/execjs)にあると主張していますが、なんらかの理由で*関連する行を 'Gemfile'に追加する必要があります。 (おそらく、これはBundlerの「機能」で、Gemfileではなく宝石を隠しているのでしょうか?) –

11

で詳細を見つけることができます。私のLinux上で

(Ubuntuの)コマンド

sudo apt-get install nodejs 

は私のために最終的に仕事をしてくれました。

は、このポストも役立つ可能性があることがある:https://github.com/intridea/rails_wizard/issues/31

+0

ありがとうございました..これだけ私のために働いた! –

+0

はい!これが一つだった。 Ubuntu Rails321 ruby​​192 –

+0

'execjs'が' therubyracer'のためにインストールされたgemを "検出"するようにするには、あなたの 'Gemfile'に次の行を追加する必要があります:' gem 'therubyracer'、require: "v8" '。どうやら、Bundlerはそこに指定されていない宝石( 'Gemfile')にアクセスしていないようです。 'apt-get'を介して' nodejs'をインストールすることももちろん可能です(ただし、Debianの現在の安定版のような、すべてのLinuxシステムでは利用できません)。 –