Node.js nicht von Rails / execjs gefunden
Ich habe node.js installiert, indem ich es vom root-Benutzer kompiliere und installiere. Ich denke, das ist vielleicht der Ort, an dem das Auflegen stattfindet. Vom Benutzer, der die Rails-App ausführt, habe ich nach node.js gesucht.
$ which node
/usr/local/bin/node
Als ich meine Rails-App (Rails 3.2.9) startete, wurde mir allgemein nicht geholfen: "Es tut uns leid, aber etwas ist schiefgegangen." Beim Überprüfen des Produktionsfehlerprotokolls habe ich festgestellt, dass die Javascript-Laufzeit nicht gefunden wurde. Das ist verwirrend, da es offensichtlich installiert ist. Also habe ich die Node-Javascript-Laufzeit erzwungen. Ich habe config / boot.rb bearbeitet, um Folgendes einzuschließen:
ENV['EXECJS_RUNTIME'] = 'Node'
Ich habe meine App erneut überprüft, während ich das Produktionsprotokoll angesehen habe. Diesmal habe ich den Fehler bekommen
ActionView::Template::Error (Node.js (V8) runtime is not available on this system
Immer noch verwirrt. Ich ging zu execjs gem und änderte den Laufzeitbefehl auf den exakt installierten Pfad.
Node = ExternalRuntime.new(
:name => "Node.js (V8)",
:command => "/usr/local/bin/node",
:runner_path => ExecJS.root + "/support/node_runner.js",
:encoding => 'UTF-8'
)
Ich bekomme immer noch den gleichen Fehler. Der Knoten ist installiert und für den Benutzer zugänglich, aber die Edelsteine / Schienen scheinen ihn nicht zu verwenden. Auf dem Server wird CentOS 6.3 ausgeführt. Die spezifische Javascript-Datei, die den Fehler verursacht, ist jquery.nivo.slider.pack.js. Was ich nicht bearbeitet habe, nachdem ich es von nivo heruntergeladen habe.