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

注意:这不是关于Heroku的。


当前回答

在MacOS上尝试运行:

brew install node

brew link node

强制链接并覆盖所有冲突的文件:

brew link --overwrite node

node -v

其他回答

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运行库(如nodejs)可以解决这个问题

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

sudo apt-get install nodejs

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

yum -y install nodejs

我希望你已经预装了nodejs || nmv。

我的解决方案不需要gem设置或安装“节点与sudo apt”当你已经有nvm。

你所需要的就是编辑RubyMine的DesctopEntry。为此,我们将采取以下步骤:

进入usr/share/applications 在任何编辑器(我使用vim)中打开Rubymine DesktopEntry 编辑第6行(从Exec开始)。你应该在/bin/bash开头添加-i -c。直线应该是这样的 Exec=/bin/bash -i -c "/home/USERNAME/rubymine/ rubymine -2019.1.2/bin/rubymine.sh" % 完成了!你是光荣的!

作为一个好处,所有的环境变量现在都可以用于RubyMine。所以添加它们时你不会感到痛苦。

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

结果我们遇到了权限问题。运行“ls -l”,查看该文件夹是否与系统上的其他工作应用程序具有相同的所有者和组。我必须在文件夹上运行chown和chgrp(使用递归开关)来修复它。

如果都失败了,你可以试试

# aptitude安装nodejs

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

# node -v

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