我通過編譯並從root用戶安裝node.js來安裝node.js。我想這可能是掛斷的地方。從運行rails應用程序的用戶,我檢查了node.js.未找到Rails/execjs的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下載它後我沒有編輯它。
您的解決方案適用於我。我有一個fedora盒子,並使用phusion乘客服務一個應用程序。儘管如此,我必須重新啓動應用程序,但在更改運行時命令之後,正如您在上面所指出的那樣,這樣才能工作 –