我使用Rails 3.1.0创建了一个新的Rails项目。rc4在我的本地机器上,但当我试图启动服务器时,我得到: 找不到JavaScript运行时。请参阅这里的可用运行时列表。(ExecJS:: RuntimeUnavailable)

注意:这不是关于Heroku的。


当前回答

Michael 12/28/2011 -我已经将我的accept从这个(rubytheracer)更改为上面(nodejs),因为therubyracer有代码大小问题。赫鲁现在强烈反对。它将“工作”,但可能有大小/性能问题。

如果你添加一个运行时,比如therubyracer到你的Gemfile并运行bundle,然后尝试启动服务器,它应该可以工作。

gem 'therubyracer'

编译coffeescript和uglifier都需要javascript运行时。

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

n.b. Coffeescript成为3.1+的标准

其他回答

安装Javascript运行时

此错误是由于本地机器上没有Javascript运行时引起的。要解决这个问题,你需要安装NodeJS。

可以通过节点版本管理器或nvm安装NodeJS:

首先,安装nvm:

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash

通过nvm安装节点:

nvm install 5.9.1

这将安装Node的5.9.1版本。

在windows平台上,我也遇到了这个问题 对我来说,解就是相加

C:\Windows\System32

到路径

然后重新启动计算机。

安装javascript运行库(如nodejs)可以解决这个问题

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

sudo apt-get install nodejs

使用yum在系统上安装nodejs,在终端中输入以下命令:

yum -y install nodejs

例如,如果你已经从源代码安装了nodejs,而execjs无法识别它,你可能想尝试一下这个技巧:https://coderwall.com/p/hyjdlw

Michael 12/28/2011 -我已经将我的accept从这个(rubytheracer)更改为上面(nodejs),因为therubyracer有代码大小问题。赫鲁现在强烈反对。它将“工作”,但可能有大小/性能问题。

如果你添加一个运行时,比如therubyracer到你的Gemfile并运行bundle,然后尝试启动服务器,它应该可以工作。

gem 'therubyracer'

编译coffeescript和uglifier都需要javascript运行时。

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

n.b. Coffeescript成为3.1+的标准