Node.js não encontrado pelo Rails / execjs
Eu tenho node.js instalado, compilando e instalando a partir do usuário root. Eu acho que isso talvez seja onde está o hangup. Do usuário que está executando o aplicativo rails que eu verifiquei para node.js.
$ which node
/usr/local/bin/node
Quando lancei meu aplicativo rails (Rails 3.2.9), recebo o universalmente inútil "Lamentamos, mas algo deu errado." Verificando o log de erros de produção, vi que o tempo de execução do Javascript não foi encontrado. Isso é confuso, pois está obviamente instalado. Então eu fui forçando o tempo de execução do Node javascript. Eu editei o config / boot.rb para incluir:
ENV['EXECJS_RUNTIME'] = 'Node'
Eu verifiquei meu aplicativo novamente, enquanto assistia ao log de produção. Desta vez recebi o erro
ActionView::Template::Error (Node.js (V8) runtime is not available on this system
Ainda confuso. Eu fui para o gem execjs e mudei o comando runtime para o caminho exato instalado.
Node = ExternalRuntime.new(
:name => "Node.js (V8)",
:command => "/usr/local/bin/node",
:runner_path => ExecJS.root + "/support/node_runner.js",
:encoding => 'UTF-8'
)
Ainda obtenho o mesmo erro. O nó é instalado e acessível pelo usuário, mas o gem / rails parece não conseguir usá-lo. O servidor executa o CentOS 6.3. O arquivo javascript específico que causa o erro é o jquery.nivo.slider.pack.js. Que eu não editei depois de baixá-lo do nivo.