Rails-JavaScript 런타임을 찾을 수 없습니까?


247

rails 3.1.0.rc4로컬 컴퓨터에서를 사용하여 새 Rails 프로젝트를 만들었지 만 서버를 시작하려고 할 때 : JavaScript 런타임을 찾을 수 없습니다. 사용 가능한 런타임 목록은 여기 를 참조 하십시오 . ( ExecJS::RuntimeUnavailable)

참고 : 이것은 Heroku에 관한 것이 아닙니다.


답변:


475

nodejs와 같은 자바 스크립트 런타임 라이브러리를 설치하면이 문제가 해결됩니다.

우분투에 nodejs를 설치하려면 터미널에 다음 명령을 입력하십시오.

sudo apt-get install nodejs

yum을 사용하여 시스템에 nodejs를 설치하려면 터미널에 다음을 입력하십시오.

yum -y install nodejs

14
나도. sudo apt-get install nodejs.
Hertzel Guinness

1
이제는 이것을 경로로 추천합니다. 위 참조.
Michael Durrant

1
이 아니었다으로 우분투 소프트웨어 센터를 통해 노드를 설치하는 방법에 대한 질문에 대해 답 제거 주석이 (우분투 12.04)
마이클 듀런트

1
우분투 64는 루비 레이서를 설치하는 데 큰 어려움을 겪고 있습니다. 마지막 버전 인 0.11.1조차도 해결되지 않았습니다. 이 답변은 저에게 도움이되었습니다.
Eduardo

@gwho Yang의 답변이 아래에 있습니다. 이것 좀보세요
theTuxRacer

44

2011 년 12 월 28 일 Michael의 주-루비 레이서에 코드 크기 문제가 있으므로 수락 (rubytheracer)에서 위 (nodejs)로 변경했습니다. 헤 로쿠는 이제 그것을 강하게 낙담합니다 . '작동'하지만 크기 / 성능 문제가있을 수 있습니다.

Rubyracer와 같은 런타임을 Gemfile에 추가하고 번들을 실행하면 서버가 작동을 시작하십시오.

gem 'therubyracer'

커피 스크립트를 컴파일 할 때와 또한 주유기를 위해 자바 스크립트 런타임이 필요합니다.

2011 년 12 월 12 일 업데이트 : 일부 사람들은 rubytheracer (문제는 대부분 코드 크기라고 생각합니다)와 관련된 문제를 발견했습니다. 그들은 execjs (또는 nodejs)가 잘 작동하지만 훨씬 작았 음을 발견했습니다.

nb Coffeescript는 3.1+의 표준이되었습니다


3
UglifyJS로 JavaScript를 압축하는 데에도 사용됩니다. 이러한 작업을 수행하는 권장 방법은 개발 작업을 수행 rake assets:precompile한 다음 리포지토리에 자산을 추가하는 것입니다. Rails 3.1은 실제로 출시 당시 프로덕션 환경에서 JavaScript 런타임이 필요하지 않습니다.
whitequark

1
나는 이것을 대답으로 표시했다. 이것이 바로 수정되지 않았기 때문에 약간 털이 있었고 3.0.9 및 3.0.4의 새로운 앱을 시도했지만 오류가 발생했습니다. 마지막으로 새로운 앱을 다시 만들었고 레일 rc5를 사용하여 rubytheracer를 추가하고 번데 업데이트를 수행하여 서버를 가동시킬 수있었습니다. 감사합니다 Gazier!
Michael Durrant

1
btw 생성되는 표준 레일 앱은 uglifier를 사용합니다.
Michael Durrant

1
좋은 습관은 개발 그룹의 gemfile에 넣을 수 있다고 생각합니다. group :development do gem 'therubyracer' end
eveevans

@eveevans 런타임을 찾을 수 없음 오류입니다. 자산은 프로덕션 환경에서 컴파일되므로 루비 레이서는 프로덕션 환경 블록 아래에 있어야합니다.
lulalala 님

27

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

gem 'therubyracer'
gem 'execjs'

실행

bundle install

또는

Node.js설치 하여 모든 프로젝트에서 영구적으로 수정하십시오.


1
이것은 나를 위해 일했습니다 (Linux Mint 16). 최신 버전의 레일에서 일부 종속성이 누락되었다고 생각합니다.
geminiCoder 2018 년

15

sudo apt-get install nodejs나를 위해 작동하지 않습니다. 작동하려면 다음을 수행해야합니다.

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

이것이 나와 같은 문제가있는 사람을 도울 수 있기를 바랍니다.


add-apt-repository 추가 ppa : chris-lea / node.js
jpganz18

@ jpganz18 먼저 시도 : sudo apt-get install software-properties-common 문제가 해결되지 않으면 수동으로 설치할 수 있습니다. blog.anantshri.info/howto-add-ppa-in-debian
Robin

6

Windows 플랫폼에서 나는 그 문제도 만났다. 나를위한 해결책은 단지 추가이다.

C:\Windows\System32

받는 PATH

컴퓨터를 다시 시작하십시오.


3

Windows 컴퓨터 에서이 문제가 있었고 node.js를 설치하는 것이 마침내 나를 위해 일한 솔루션이었습니다. 이것은 'therubyracer'를 작동시키는 것을 포함하여 여러 다른 경로를 시도한 후에 나왔습니다 . github for node.js에 따르면 Windows에서의 설치가 여전히 불안정하다고 제안하지만 http://nodejs.org/ 의 웹 사이트 에는 Windows Installer가 완벽하게 작동했습니다.



1

모두 실패하면 시도해 볼 수 있습니다

# 적성 설치 nodejs

루트로. 다음 명령으로 설치를 테스트 할 수 있습니다.

# 노드 -v

NPM을 설치하려면 다음 링크 를 참조하십시오 . 도움이 되길 바랍니다.


0

CentOS 6.5에서는 다음이 저에게 효과적이었습니다.

sudo yum install -y nodejs

0

자바 스크립트 런타임 설치

로컬 시스템에 Javascript 런타임이 없기 때문에 오류가 발생합니다. 이 문제를 해결하려면 NodeJS를 설치해야합니다.

Node Version Manager 또는 nvm을 통해 NodeJS를 설치할 수 있습니다 .

먼저 다음을 설치하십시오 nvm.

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash

다음을 통해 노드를 설치하십시오 nvm.

nvm install 5.9.1

5.9.1Node 버전이 설치됩니다 .


0

Redhat 서버에서 Phusion Passenger (nginx 모듈로 실행)를 사용 하여이 문제가 발생했습니다. 이미 자바 스크립트 런타임이 설치되어 있습니다. 동일한 상위 디렉토리에있는 다른 Rails 앱이 제대로 작동했습니다.

권한 문제가있는 것으로 나타났습니다. "ls -l"을 실행하고 폴더가 시스템의 다른 작동하는 앱과 동일한 소유자 및 그룹을 가지고 있는지 확인하십시오. 폴더를 재귀 스위치로 사용하여 chown과 chgrp를 실행해야했습니다.


0

nodejs가 사전 설치되어 있기를 바랍니다 || nmv.

내 솔루션 과 보석 설치 또는 설치 '노드를 필요로하지 않습니다 sudo apt" 이미 NVM이있을 때.

DesctopEntry of RubyMine을 편집하기 만하면됩니다. 이를 위해 우리는 작은 단계를 밟을 것입니다.

  1. 이동 usr/share/applications
  2. 모든 편집기에서 열기 (vim 사용) Rubymine DesktopEntryvim RubyMine
  3. 6 행 편집 (Exec로 시작) 당신은 시작에 추가해야 /bin/bash -i -c합니다. 그래서 당신의 라인은 다음과 같아야합니다 Exec=/bin/bash -i -c "/home/USERNAME/rubymine/RubyMine-2019.1.2/bin/rubymine.sh" %f
  4. 끝난! 당신은 영광입니다!

이점으로 모든 환경 변수를 이제 RubyMine에서 사용할 수 있습니다. 그래서 당신은 그들을 추가하는 고통을 느끼지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.