root 사용자로 컴파일하고 설치하여 node.js를 설치했습니다. 나는 이것이 어쩌면 전화 접속이있는 곳이라고 생각한다. 레일 애플 리케이션을 실행하는 사용자로부터 나는 node.js를 확인했다.Rails/execjs에서 Node.js를 찾지 못했습니다.
$ which node
/usr/local/bin/node
내 레일 애플 리케이션 (레일 3.2.9) 나는 보편적으로 인정받을 시작 "죄송합니다,하지만 뭔가 잘못했습니다."할 때 프로덕션 오류 로그를 확인하면 Javascript 런타임을 찾을 수 없습니다. 그것은 명백하게 설치되는 것처럼 혼란 스럽다. 그래서 나는 노드 자바 스크립트 런타임을 강요하려고했다. config/boot.rb 파일을 편집하여 편집했습니다 :
프로덕션 로그를 보면서 내 응용 프로그램을 다시 검사했습니다. 이번에는 내가 여전히 오류를 혼란
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'
)
여전히 같은 오류가 발생합니다. 노드가 설치되어 사용자가 액세스 할 수 있지만 보석/레일이이를 사용하는 것처럼 보이지 않습니다. 서버가 CentOS 6.3에서 실행됩니다. 오류가 발생하는 특정 javascript 파일은 jquery.nivo.slider.pack.js입니다. 나는 그것을 nivo에서 다운로드 한 후에 편집하지 않았습니다.
귀하의 솔루션이 저에게 효과적이었습니다. 페도라 상자가 있고 phusion 승객을 사용하는 앱을 제공합니다. 비록 내가 런타임 명령을 변경 한 후에 당신이 위에서 언급 한대로 작동하도록 앱을 다시 시작해야했습니다. –