therubyracer或nodejs,我应该使用哪个?

我正在关注新版Ubuntu 12.10上的ruby on rails入门指南 。 我要运行rake db:create但是我收到以下错误:

耙子流产了! 找不到JavaScript运行时。 有关可用运行时的列表,请参阅https://github.com/sstephenson/execjs 。

我一直在搜索,建议的解决方案(见下面的列表)是安装一些therubyracer或nodejs,但他们没有解释原因。

  • rake db:create – 找不到JavaScript运行时
  • Rails 3.1错误 – 找不到JavaScript运行时?
  • http://datacodescotch.blogspot.com.au/2011/11/rails-31-spree-and-rake-aborted-could.html
  • http://www.blog.railshouse.com/

在我安装之前我想知道这些JavaScript运行时之间的差异以及为什么我会选择其中一个?

更新:

我刚刚阅读https://github.com/sstephenson/execjs (我知道我应该先读这个,对不起)在我看来execjs不是JavaScript运行时而且我已经拥有它…所以它归结为therubyracer和nodejs …请原谅我的无知,我已经修改了我的问题

除了Intrepidd的回答:

轨道上的ruby入门指南支持Intrepidd的答案。 请参见4.1“启动Web服务器”一节 ,其中说:

Rails在一个注释行中为新应用添加了therubyracer gem到Gemfile,如果需要,你可以取消注释。

对于那里的导轨noob(像我一样),GemFile位于rails应用程序的根文件夹中。 在我的GemFile中取消注释该行后,我必须运行bundle install来安装therubyracer gem。

在* NIX系统上,您可以取消注释gem "therubyracer"文件中的gem "therubyracer"并且你很高兴,这是最简单的。

你应该更喜欢therubyracer而不是therubyracer因为therubyracer内存效率很高,但它可能不那么容易安装,虽然在Mac OS上它很容易,因此它在Ubuntu上。