我试图使用蒙古/设计Rails 3.1模板(蒙古和设计),我一直得到一个错误说明ExecJS找不到JavaScript运行时。公平的时候,我没有安装任何,但我已经尝试安装Node.js, Mustang和Ruby Racer,但没有工作。

我找不到JavaScript运行时。参见sstephenson/ExecJS (GitHub)获取可用运行时的列表(ExecJS::RuntimeUnavailable)。

我需要做什么才能让它工作?


当前回答

我曾经将Ruby Racer添加到Gem文件中以修复它。但是,Node.js是有用的!

其他回答

我通过nvm安装node,在使用Capistrano部署时遇到了这个问题。Capistrano没有自动加载nvm,因为它是非交互式运行的。

要修复,只需移动nvm添加到~/中的行。Bashrc升到顶端。该文件将看起来像这样:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

Ubuntu用户

我使用的是Ubuntu 11.04,遇到了类似的问题。安装Node.js解决了这个问题。

从Ubuntu 13.04 x64开始,你只需要运行:

sudo apt-get install nodejs

这样问题就解决了。


CentOS / RedHat用户

sudo yum install nodejs

供你参考,这解决了我的问题…这是一个路径问题: http://forums.freebsd.org/showthread.php?t=35539

2022年Mac的答案很简单:

编译安装nodejs

然后重新运行rails服务器。

不要使用RubyRacer,因为它对内存不好。按照某些人的建议安装Node.js是一个更好的主意。

ExecJs库可以使用的可用运行时列表也记录了Node.js的使用

https://github.com/sstephenson/execjs

所以,Node.js并不是一个多余的,而且比使用RubyRacer更好的解决方案。