ExecJS이며 JavaScript 런타임을 찾을 수 없습니다
내가 사용하려고 해요 Mongoid / 고안 레일 3.1 템플릿 ( Mongoid 및 고안을 ), 난라는 오류가 계속 ExecJS을 자바 스크립트 런타임을 찾을 수 있습니다. 내가 설치하지 않았을 때 충분히 공평 하지만 Node.js , Mustang 및 Ruby 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 파일에 ExecJS 와 Ruby 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
당신은 끝났습니다 :)
Amazon Linux (AMI)의 경우 :
sudo yum install nodejs npm --enablerepo=epel
Gem 파일에 Ruby Racer 를 추가하여 수정했습니다. 그러나 Node.js가 작동합니다!
이 같은 오류가 있었지만 프로덕션 환경이 아닌 준비 서버에서만 발생했습니다. nodejs는 이미 두 환경 모두에 설치되었습니다.
입력하여 :
which node
노드 명령이 프로덕션의 / usr / bin / node에 있지만 스테이징의 / usr / local / bin / node에 있습니다.
준비시 심볼릭 링크를 만든 후 :
sudo ln -s /usr/local/bin/node /usr/bin/node
그런 다음 응용 프로그램이 준비 작업을 수행했습니다.
아무 소란도 없습니다.
메모리가 나쁘기 때문에 RubyRacer를 사용하지 마십시오. 일부 사람들이 제안한 Node.js를 설치하는 것이 좋습니다.
ExecJs 라이브러리에서 사용할 수있는 사용 가능한 런타임 목록은 Node.js의 사용도 문서화합니다.
https://github.com/sstephenson/execjs
따라서 Node.js는 RubyRacer를 사용하는 것보다 과잉이 아니며 훨씬 더 나은 솔루션입니다.
참고로, 이것은 나를 위해 문제를 해결했습니다 ... 경로 문제입니다 : http://forums.freebsd.org/showthread.php?t=35539
내 시스템 루비가 1.8.7 인 Ruby 1.9.3에서 rbenv를 사용하기 시작했을 때이 문제가 발생하기 시작했습니다. 보석은 두 곳에 설치되어 있지만 어떤 이유로 Rails 스크립트가 그것을 얻지 못했습니다. 그러나 "execjs"와 "therubyracer"를 Gemfile에 추가하면 트릭을 만들었습니다.
gem 파일에서이 줄의 주석을 해제하십시오.
19 # gem 'therubyracer', 플랫폼 : : ruby
번들 설치를 실행하십시오.
일할 준비가되었습니다. :)
Ubuntu 18.04, Ruby 2.6. *, Rails 5 및 RubyMine 2019.1.1을 사용하여 RubyMine에서 디버깅하려고 할 때 동일한 문제가 발생했습니다.
이 문제를 해결하기 위해 mini_racer
내 줄을 주석 해제 Gemfile
한 다음 실행했습니다 bundle
.
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'mini_racer', platforms: :ruby
로 변경:
# See https://github.com/rails/execjs#readme for more supported runtimes
gem 'mini_racer', platforms: :ruby
참고 URL : https://stackoverflow.com/questions/6282307/execjs-and-could-not-find-a-javascript-runtime
'Programing' 카테고리의 다른 글
RadioButton을 열거 형에 바인딩하는 방법은 무엇입니까? (0) | 2020.02.22 |
---|---|
저자와 날짜를 포함하는 git log에서 가능한 가장 짧은 출력 (0) | 2020.02.22 |
Swift를 사용하여 프로그래밍 방식으로 제약 조건을 추가하는 방법 (0) | 2020.02.22 |
선호되는 것 : Nullable (0) | 2020.02.22 |
.NET에서 HTML을 PDF로 변환 (0) | 2020.02.22 |