尽pipe安装了therubyracer和nodejs,但无法findJavaScript运行时

我试图在CentOS 5上运行Rails应用程序,并不断收到此错误 :

找不到JavaScript运行时。 有关可用运行时的列表,请参阅https://github.com/sstephenson/execjs 。 (ExecJS :: RuntimeUnavailable)

我安装了NodeJS(v0.8.15)和therubyracer(libv8)。

这是我的gem list

 *** LOCAL GEMS *** actionmailer (3.2.9, 3.2.8) actionpack (3.2.9, 3.2.8) activemodel (3.2.9, 3.2.8) activerecord (3.2.9, 3.2.8) activerecord-sqlserver-adapter (3.2.10) activeresource (3.2.9, 3.2.8) activesupport (3.2.9, 3.2.8) arel (3.0.2) builder (3.1.4, 3.0.4) bundler (1.2.3, 1.2.2) capistrano (2.13.5) commonjs (0.2.6) daemon_controller (1.1.0) diff-lcs (1.1.3) erubis (2.7.0) execjs (1.4.0) factory_girl (4.1.0) factory_girl_rails (4.1.0) fastthread (1.0.7) haml (3.1.7) haml-rails (0.3.5) highline (1.6.15) hike (1.2.1) i18n (0.6.1) journey (1.0.4) jquery-rails (2.1.4, 2.1.3) json (1.7.5) less (2.2.2) less-rails (2.2.6) libv8 (3.11.8.4) mail (2.5.3, 2.4.4) mime-types (1.19) multi_json (1.5.0, 1.3.7) net-scp (1.0.4) net-sftp (2.0.5) net-ssh (2.6.2, 2.6.1) net-ssh-gateway (1.1.0) nokogiri (1.5.6, 1.5.5) passenger (3.0.18) polyglot (0.3.3) rack (1.4.1) rack-cache (1.2) rack-ssl (1.3.2) rack-test (0.6.2) rails (3.2.9, 3.2.8) railties (3.2.9, 3.2.8) rake (10.0.3, 10.0.2, 10.0.1) rdoc (3.12) ref (1.0.2) rspec-core (2.12.2, 2.12.0) rspec-expectations (2.12.1, 2.12.0) rspec-mocks (2.12.1, 2.12.0) rspec-rails (2.12.0) ruby-odbc (0.99994) rubygems-bundler (1.1.0) rvm (1.11.3.5) sass (3.2.4, 3.2.3) sass-rails (3.2.5) sprockets (2.8.2, 2.2.2, 2.1.3) sqlite3 (1.3.6) therubyracer (0.11.0, 0.11.0beta8 x86-linux, 0.10.2) thor (0.16.0) tilt (1.3.3) tiny_tds (0.5.1) treetop (1.4.12) twitter-bootstrap-rails (2.1.9, 2.1.6) tzinfo (0.3.35) uglifier (1.3.0) webrat (0.7.3) will_paginate (3.0.3) will_paginate-bootstrap (0.2.1) 

这是我的gem文件:

 source 'https://rubygems.org' gem 'rails', '3.2.8' gem 'haml' gem 'will_paginate' gem 'will_paginate-bootstrap' gem 'activerecord-sqlserver-adapter' gem 'ruby-odbc' gem 'tiny_tds' gem 'jquery-rails' gem 'execjs' gem 'therubyracer', :platforms => :ruby group :assets do gem 'execjs' gem 'sass-rails' gem 'therubyracer', :platforms => :ruby gem 'uglifier' gem 'jquery-rails' gem 'twitter-bootstrap-rails' end group :test do gem 'rspec-rails' gem 'webrat' gem 'factory_girl_rails' end group :development do gem 'rspec-rails' gem 'haml-rails' end 

我做错了什么,我能做些什么让execjs看到任何JS运行时间安装?

解决这个问题最简单,最快捷的方法就是安装NodeJS 。

如果你确实已经安装了NodeJS,可能是SElinux的问题,试试这个:

 setenforce 0 

下面的答案如何:安装execjs,它应该为你自动使用节点:

 gem install execjs 

或者,您也可以尝试安装therubyracer并将其包含在您的gem文件中

 gem install therubyracer 

然后将其添加到您的Gemfile中:

 gem "therubyracer" 

来源: https : //teamtreehouse.com/forum/rails-server-error-could-not-find-a-javascript-runtime

由于没有人能够直接解决问题,所以我find了自己的解决scheme。

这不是直接解决所描述的问题,但它为我工作

我已经从Centos重新安装操作系统到Ubuntu服务器 – 问题不仅消失,但轨道的一般configuration是完美的。 之后,我已经build立了大约20-30个服务器,一些非常奇特的软件 – 没有单一的问题,我不能find解决scheme的谷歌结果的第一页。 我想那个CentOS不是真的非常适合Rails。

希望这个经验能帮助那些遇到同样问题的人。