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

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

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


当前回答

在宝石文件中添加以下宝石

gem 'therubyracer'
gem 'execjs'

和运行

bundle install

你完成了:)

其他回答

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

Ubuntu用户

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

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

sudo apt-get install nodejs

这样问题就解决了。


CentOS / RedHat用户

sudo yum install nodejs

我有同样的错误,但只是在我的登台服务器上,而不是我的生产环境。两个环境中都已经安装了Nodejs。

通过键入:

which node

我发现节点命令位于:/usr/bin/node的生产环境中 但是:/usr/local/bin/node。

在分段上创建符号链接后,即:

sudo ln -s /usr/local/bin/node /usr/bin/node

然后应用程序在分段中工作。

不乱不闹。

另一种方法是不使用包含您没有的东西的gem组进行捆绑。

所以做的事:

bundle install --without assets

你根本不需要修改Gemfile,当然前提是你不做资产链的事情——这通常适用于非开发环境。Bundle会记住你在. Bundle /config文件中的“——without”设置。

2022年Mac的答案很简单:

编译安装nodejs

然后重新运行rails服务器。