ExecJS并且找不到JavaScript运行时

我正在尝试使用Mongoid / Devise Rails 3.1模板MongoidDevise),并且不断收到错误消息,指出ExecJS无法找到JavaScript运行时。当我没有安装任何东西时,这还算公平,但是我尝试安装Node.jsMustangRuby Racer,但是没有任何效果。

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

我需要做什么才能使它正常工作?

TonyEvaL2020/04/03 11:18:11

仅供参考,这为我解决了问题...这是一个问题:http : //forums.freebsd.org/showthread.php? t= 35539

Mandy2020/04/03 11:18:11

当我开始在Ruby 1.9.3中使用rbenv时遇到了这个问题,因为我的系统ruby是1.8.7。这两个地方都安装了gem,但是出于某种原因,rails脚本没有将其安装。但是,在Gemfile中添加“ execjs”和“ therubyracer”可以达到目的。

村村Tony2020/04/03 11:18:11

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

通过输入:

which node

我发现该节点命令位于生产中的/ usr / bin / node,但位于登台阶段的/ usr / local / bin / node。

在临时创建符号链接后,即:

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

然后,该应用程序在分阶段工作。

没有大惊小怪。

猴子村村2020/04/03 11:18:11

对于Amazon Linux(AMI):

sudo yum install nodejs npm --enablerepo=epel
2020/04/03 11:18:11

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

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

https://github.com/sstephenson/execjs

因此,与使用RubyRacer相比,Node.js并不是一个过大的解决方案,并且是更好的解决方案。

Gil2020/04/03 11:18:11

我曾经将Ruby Racer添加到Gem文件中进行修复。但是,Node.js可以工作!

Gil伽罗小宇宙2020/04/03 11:18:11

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

这样:

bundle install --without assets

您完全不需要修改Gemfile,前提是您当然不需要做资产链工作-通常适用于非开发环境。Bundle会记住.bundle / config文件中的“ --without”设置。

米亚2020/04/03 11:18:10

Ubuntu用户

我在Ubuntu 11.04上遇到类似问题。安装Node.js可以修复它。

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

sudo apt-get install nodejs

这样可以解决问题。


CentOS / RedHat用户

sudo yum install nodejs