therubyracer或nodejs,我应该使用它们

therubyracer or nodejs, which should I use?

本文关键字:我应该 nodejs therubyracer      更新时间:2023-09-26

我正在遵循关于Ubuntu 12.10新安装的ruby on rails入门指南。我正在运行rake db:create,但我收到以下错误:

rake中止!找不到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 on rails入门指南支持Intrepidd的回答。请参阅第4.1节"启动Web服务器",其中写道:

Rails在注释行中将therubyracer-gem添加到Gemfile中应用程序,如果需要,可以取消注释。

对于rails noobs(像我一样),GemFile位于rails应用程序的根文件夹中。在我的GemFile中取消注释那一行之后,我不得不运行bundle install来安装therubyracer-gem。

你应该更喜欢NodeJS而不是therubyracer,因为NodeJS是内存高效的,但它可能不那么容易安装,尽管在Mac操作系统上它很容易,在Ubuntu上也是如此。

在*NIX系统上,只需在gemfile中取消注释gem "therubyracer"即可,这是最简单的。