Rails – 无法findJavaScript运行时?

我在本地机器上使用rails 3.1.0.rc4创build了一个新的Rails项目,但是当我尝试启动服务器时,我得到:无法findJavaScript运行时。 请参阅此处以获取可用运行时的列表。 ( ExecJS::RuntimeUnavailable

注意:这不关于Heroku。

安装一个javascript运行时库(如nodejs)解决了这个问题

要在ubuntu上安装nodejs,你可以在terminal上键入以下命令:

 sudo apt-get install nodejs 

要在使用yum的系统上安装nodejs,请在terminal中input以下内容:

 yum -y install nodejs 

来自Michael的注意事项12/28/2011 – 由于therubyracer有代码大小问题,我已经将我的接受从rubytheracer(rubytheracer)更改为above(nodejs)。 Heroku现在强烈阻止它 。 它将“工作”,但可能有尺寸/性能问题。

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

 gem 'therubyracer' 

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

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

nb Coffeescript成为3.1+的标准

在您的gem文件中添加以下gem

 gem 'therubyracer' gem 'execjs' 

并运行

 bundle install 

要么

安装Node.js为所有项目永久修复它。

sudo apt-get install nodejs不适用于我。 为了得到它的工作,我必须做到以下几点:

 sudo apt-get install python-software-properties sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs 

希望这能帮助有同样问题的人。

在Windows平台上,我也遇到了这个问题我的解决scheme只是添加

 C:\Windows\System32 

PATH

并重新启动计算机。

我在Windows机器上有这个问题,安装node.js是最终为我工作的解决scheme。 这是在尝试多个其他路线,包括试图让'therubyracer'工作。 尽pipenode.js的github提示在Windows上安装仍然不稳定,但http://nodejs.org/上的网站有一个完美的Windows安装程序。;

如果您已经从源代码安装nodejs,并且execjs不能识别它,那么您可以尝试以下提示: https ://coderwall.com/p/hyjdlw

如果全部失败,您可以尝试

#aptitude install nodejs

作为根。 您可以使用以下命令testing您的安装:

#node -v

如果你想安装NPM,请参考下面的链接 。 希望它有帮助。

在CentOS 6.5上,以下工作适用于我:

 sudo yum install -y nodejs 

安装一个Javascript运行时

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

您可以通过节点版本pipe理器或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版本。

我在一个Redhat服务器上用Phusion Passenger(作为一个nginx模块运行)遇到了这个问题。 我们已经安装了Javascript运行时。 其他Rails应用程序在同一个父目录中工作正常。

事实certificate,我们有一个权限问题。 运行“ls -l”并查看该文件夹是否与系统上其他正在运行的应用程序具有相同的所有者和组。 我必须运行chown和chgrp文件夹(用recursion开关)来修复它。