Rails - 找不到 JavaScript 运行时?

我在我的本地机器上创建了一个新的Rails项目,但是当我尝试启动服务器时,我得到:找不到JavaScript运行时。有关可用运行时的列表,请参阅此处。(rails 3.1.0.rc4ExecJS::RuntimeUnavailable)

注意:这不是关于Heroku的。


答案 1

安装一个javascript运行时库,如nodejs,可以解决这个问题

要在 ubuntu 上安装 nodejs,您可以在终端中键入以下命令:

sudo apt-get install nodejs

要使用 yum 在系统上安装 nodejs,请在终端中键入以下内容:

yum -y install nodejs

答案 2

来自 Michael 12/28/2011 的注释 - 由于 therubyracer 存在代码大小问题,我已将我的接受从 this (rubytheracer) 更改为 above (nodejs)。Heroku现在强烈反对。它将“工作”,但可能存在大小/性能问题。

如果您将运行时(例如 therubyracer)添加到 Gemfile 并运行捆绑包,请尝试启动它应该可以工作的服务器。

gem 'therubyracer'

编译咖啡脚本和丑陋的javascript运行时是必需的。

更新,12/12/2011:有些人发现rubytheracer存在问题(我认为它主要是代码大小)。他们发现execjs(或nodejs)工作得一样好(如果不是更好的话),而且要小得多。

注:咖啡脚本成为3.1+的标准