[javascript] ExecJS이며 JavaScript 런타임을 찾을 수 없습니다

내가 사용하려고 해요 Mongoid / 고안 레일 3.1 템플릿 ( Mongoid고안을 ), 난라는 오류가 계속 ExecJS을 자바 스크립트 런타임을 찾을 수 있습니다. 내가 설치하지 않았을 때 충분히 공평 하지만 Node.js , MustangRuby Racer 설치를 시도 했지만 아무것도 작동하지 않습니다.

JavaScript 런타임을 찾을 수 없습니다. 사용 가능한 런타임 목록 ( ) 은 sstephenson / ExecJS (GitHub)를 참조하십시오 ExecJS::RuntimeUnavailable.

이 작업을 수행하려면 어떻게해야합니까?



답변

우분투 사용자

우분투 11.04에 있는데 비슷한 문제가 있습니다. Node.js를 설치 하면 문제가 해결되었습니다.

우분투 13.04 x64부터 다음을 실행하면됩니다.

sudo apt-get install nodejs

문제가 해결됩니다.


CentOS / RedHat 사용자

sudo yum install nodejs


답변

gem 파일에 ExecJSRuby Racer 를 추가 하고 실행하십시오 bundle install.

gem 'execjs'

gem 'therubyracer'

후에 모든 것이 잘되어야합니다.


답변

당신의 보석 파일에

gem 'execjs'
gem 'therubyracer'

그런 다음 실행

bundle install

모든 것이 나를 위해 잘 작동합니다 🙂


답변

비슷한 문제가있었습니다. Rails 3.1 앱은 Windows에서 제대로 작동했지만 Linux에서 실행할 때 OP와 같은 오류가 발생했습니다. 두 플랫폼 모두에서 나를 위해 일한 해결책은 다음을 내 플랫폼에 추가하는 것이 었습니다 Gemfile.

gem 'therubyracer', :platforms => :ruby

트릭은 :platforms => :ruby실제로 “C Ruby (MRI) 또는 Rubinius (Windows는 아님)”에서만이 gem을 사용 한다는 것을 알고 있습니다.

다른 가능한 값 매뉴얼 페이지에:platforms 설명되어 있습니다bundler 있습니다.

참고 : Windows에는 JavaScript 엔진이 내장되어 execjs있습니다. Linux에는 설치할 수있는 여러 가지가 있지만 내장 기능은 없습니다. therubyracer그들 중 하나입니다. 다른 것은 execjs README.md에 나열되어 있습니다.


답변

Gemfile에 다음 gem을 추가하면 문제가 해결되었습니다.

gem 'therubyracer'

그런 다음 새 종속성을 묶습니다.

$ bundle install


답변

다른 방법은 당신이 가지고 있지 않은 것들을 포함하는 gem 그룹없이 번들링하는 것입니다.

그렇습니다 :

bundle install --without assets

Gemfile을 전혀 수정할 필요가 없습니다. 물론 자산 체인 작업을 수행하지 않는 경우가 많으며 일반적으로 비 개발 환경에 적용됩니다. 번들은 .bundle / config 파일에서 ‘–without’설정을 기억합니다.


답변

gem 파일에 다음 gem을 추가하십시오

gem 'therubyracer'
gem 'execjs'

실행

bundle install

당신은 끝났습니다 🙂