Rails / execjs未找到Node.js

我通过从root用户编译并安装来安装node.js。我认为这可能是挂断电话的地方。从运行Rails应用程序的用户检查了node.js。

$ which node

/usr/local/bin/node

当我启动Rails应用程序(Rails 3.2.9)时,我得到了普遍无助的信息:“很抱歉,出了点问题。”

检查生产错误日志,我发现找不到Javascript运行时。这显然很容易安装,令人感到困惑。因此,我开始强制使用Node

javascript运行时。我编辑config / boot.rb包括:

ENV['EXECJS_RUNTIME'] = 'Node'

在观看生产日志时,我再次检查了我的应用程序。这次我得到了错误

ActionView::Template::Error (Node.js (V8) runtime is not available on this system

还是很困惑。我去了execjs gem,并将运行时命令更改为确切的安装路径。

Node = ExternalRuntime.new(

:name => "Node.js (V8)",

:command => "/usr/local/bin/node",

:runner_path => ExecJS.root + "/support/node_runner.js",

:encoding => 'UTF-8'

)

我仍然遇到相同的错误。节点已安装并可由用户访问,但gem / rails似乎无法使用它。该服务器运行CentOS

6.3。导致引发错误的特定javascript文件是jquery.nivo.slider.pack.js。从nivo下载后我没有进行编辑。

回答:

我在centos

6.3系统上安装带有源代码的nodejs时遇到了类似的问题。它已成功安装,但在将PATH明确设置为安装位置之前,我一直无法编译我的ror应用程序资产(nodejs)

[root] #make install

安装/usr/local/lib/node_modules/npm/html/doc/folders.html

符号链接../lib/node_modules/npm/bin/npm-cli.js-> / usr / local / bin / npm

将/ usr / local / bin / npm的shebang更新为/ usr / local / bin / node

[root]#export PATH = / usr / local / bin:$ PATH

现在可以了。希望有帮助!

以上是 Rails / execjs未找到Node.js 的全部内容, 来源链接: utcz.com/qa/419121.html

回到顶部