418 Stimmen

ExecJS und konnte keine JavaScript-Laufzeitumgebung finden

Ich versuche, die Mongoid / Devise Rails 3.1 Vorlage ( Mongoide y Entwickeln Sie ), und ich erhalte ständig die Fehlermeldung ExecJS kann keine JavaScript-Laufzeitumgebung finden. Fair genug, wenn ich keine installiert hatte, aber ich habe versucht, die Installation Node.js , Mustang und die Ruby Racer aber nichts funktioniert.

Ich konnte keine JavaScript-Laufzeitumgebung finden. Siehe sstephenson/ExecJS (GitHub) für eine Liste der verfügbaren Laufzeiten ( ExecJS::RuntimeUnavailable ).

Was muss ich tun, damit das funktioniert?

456voto

eldewall Punkte 4786

Ubuntu-Benutzer

Ich arbeite mit Ubuntu 11.04 und hatte ähnliche Probleme. Installation von Node.js repariert.

Ab Ubuntu 13.04 x64 müssen Sie nur noch ausführen:

sudo apt-get install nodejs

Damit wird das Problem gelöst.


CentOS/RedHat-Benutzer

sudo yum install nodejs

446voto

vincent jacquel Punkte 5097

Einfach hinzufügen ExecJS und die Ruby Racer in Ihrer gem-Datei und führen Sie bundle install nach.

gem 'execjs'

gem 'therubyracer'

Danach sollte alles in Ordnung sein.

78voto

manish nautiyal Punkte 2448

Schreiben Sie in Ihre Gem-Datei

gem 'execjs'
gem 'therubyracer'

und führen Sie dann

bundle install

Bei mir funktioniert alles einwandfrei :)

48voto

jwfearn Punkte 27520

Ich hatte ein ähnliches Problem: mein Rails 3.1 app funktionierte gut auf Windows, aber bekam den gleichen Fehler wie der OP, wenn auf Linux ausgeführt. Die Lösung, die für mich auf beiden Plattformen funktionierte, war das Hinzufügen des Folgenden zu meiner Gemfile :

gem 'therubyracer', :platforms => :ruby

Der Trick ist zu wissen, dass :platforms => :ruby bedeutet eigentlich Verwenden Sie diesen Edelstein nur mit "C Ruby (MRI) oder Rubinius, aber NICHT Windows".

Andere mögliche Werte für :platforms sind beschrieben in die bundler Manpage .

Zu Ihrer Information: Windows hat eine eingebaute JavaScript-Engine, die execjs ausfindig machen kann. Unter Linux gibt es kein eingebautes Programm, obwohl es mehrere gibt, die man installieren kann. therubyracer ist einer von ihnen. Andere sind aufgelistet in der execjs README.md .

37voto

JDutil Punkte 3572

Das Hinzufügen des folgenden Gems zu meinem Gemfile hat das Problem gelöst:

gem 'therubyracer'

Bündeln Sie dann Ihre neuen Abhängigkeiten:

$ bundle install

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X