RHEL 6 시스템에 Rails 4 응용 프로그램이 설치되어 있습니다.Runnig ExecJS로 인해 프로덕션 서버에서 레이크 작업이 수행되지 않습니다.
생산에는 Passenger와 Apache2가 사용됩니다.
저는 최근 Rake 작업을 Whenever Gem과 Cron을 사용하여 예정된 작업으로 생산에 통합하려고했습니다.
rake aborted!
ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
NodeJS가 컴퓨터에 설치되어 언급하는 것이 중요하다 :
나는이 레이크 작업 생산 한 실행하려고 할 때마다
, 나는 다음과 같은 오류가 발생합니다. 자산을 미리 컴파일 할 수 있습니다. 는 특히, 명령node --version
는 생산 :
v0.10.31
여기 내 스택 추적입니다 :
rake aborted!
ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/execjs-2.2.1/lib/execjs/runtimes.rb:51:in `autodetect'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/execjs-2.2.1/lib/execjs.rb:5:in `<module:ExecJS>'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/execjs-2.2.1/lib/execjs.rb:4:in `<top (required)>'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:229:in `require'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:229:in `block in require'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:214:in `load_dependency'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:229:in `require'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/uglifier-2.5.3/lib/uglifier.rb:3:in `<top (required)>'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler/runtime.rb:76:in `require'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler/runtime.rb:72:in `each'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler/runtime.rb:72:in `block in require'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler/runtime.rb:61:in `each'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler/runtime.rb:61:in `require'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler.rb:133:in `require'
/var/www/eng_performance/releases/20141014084554/config/application.rb:7:in `<top (required)>'
/var/www/eng_performance/releases/20141014084554/Rakefile:4:in `require'
/var/www/eng_performance/releases/20141014084554/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)
참고 : 나는 소스로부터 컴파일로 NodeJS를 설치 한 나는 REPO에서 설치하려고 할 때 때문에 나는이 오류를 극복하는 방법을 몰랐다.
Packages skipped because of dependency problems:
c-ares19-1.9.1-5.el6.3.x86_64 from epel
http-parser-2.0-4.20121128gitcd01361.el6.x86_64 from epel
1:libuv-0.10.28-1.el6.x86_64 from epel
nodejs-0.10.30-1.el6.x86_64 from epel
1:v8-3.14.5.10-11.el6.x86_64 from epel
'gem'thebyracer '가 Gemfile에서 주석 처리가 해제되었는지 확인할 수 있습니까? –
@RMilushev, 답장을 보내 주셔서 감사합니다. 내가 아는 한, 경호원을 사용하는 것은 성능 문제로 권장되지 않습니다. 다음과 같은 스레드가 두 개 이상 발견되었습니다. [rubyracer vs nodejs] (http://stackoverflow.com/q/14829275/3001256). 그 문제를 알고 있습니까? 이 보석의 새 버전 중 일부에 변경 사항이 있습니까? – cyber101
필자의 제작 데비안 리눅스 서버에서'nodejs '에 대한 경험이 깁니다. 그것은 매우 특별한 방식으로 설치되어야하고 우리는'therabyracer' 보석에 의지하기로 결정했습니다. 성능 문제가 있다고 생각하지 않습니다. V8 js 머신 워퍼 (machine warper)이기 때문입니다. –