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