ExecJS und konnte keine JavaScript-Laufzeitumgebung finden
Lesezeit: 5 Minuten
srboisvert
Ich versuche, die zu verwenden Mongoid / Devise Rails 3.1-Vorlage (Mongoid und Entwickeln), und ich erhalte immer wieder eine Fehlermeldung ExecJS kann keine JavaScript-Laufzeit finden. Fair genug, als ich keine installiert hatte, aber ich habe versucht, sie zu installieren Node.js, Mustang und das Rubin-Raceraber nichts funktioniert.
Ich konnte keine JavaScript-Laufzeit finden. Sehen stephenson/ExecJS (GitHub) für eine Liste der verfügbaren Laufzeiten (ExecJS::RuntimeUnavailable).
Was muss ich tun, damit das funktioniert?
Übrigens – ich benutze Ubuntu Karmic.
– srboisvert
8. Juni 11 um 18:21 Uhr
Sie sollten wirklich in Betracht ziehen, die Antwort zu ändern. Die Antwort von Node.js ist nicht annähernd so gut wie die von execjs/rubyracer.
– Sean Dunford
2. Februar 13 um 4:43 Uhr
Der Rubyracer hat andere Probleme damit. Heroku empfiehlt nicht mehr, es in Ihre Gemfile aufzunehmen, wenn Sie es vermeiden können. devcenter.heroku.com/articles/rails-asset-pipeline#therubyracer Ich denke, dass die Installation einer geeigneten Javascript-Laufzeitumgebung auf Ubuntu die richtige Antwort auf diese Frage ist.
– M. Scott Ford
27. März ’13 um 16:00 Uhr
Eldewall
Ubuntu-Benutzer
Ich bin auf Ubuntu 11.04 und hatte ähnliche Probleme. Node.js installieren behoben.
Ab Ubuntu 13.04 x64 müssen Sie nur noch Folgendes ausführen:
sudo apt-get install nodejs
Dies wird das Problem lösen.
CentOS/RedHat-Benutzer
sudo yum install nodejs
Ich habe es versucht. kein Glück. Ich frage mich, ob es ein rvm-Konflikt oder so etwas ist. Alles, was andere Leute vorgeschlagen haben, hat bei mir nicht funktioniert.
– srboisvert
8. Juni 11 um 18:21 Uhr
gem ‘execjs’ gem ‘therubyracer’ ist eine bessere Lösung als diese.
– dwaynemac
2. August 11 um 14:42 Uhr
Heroku ist jetzt stark entmutigend therubyracer wegen Speicherverbrauch. Ich habe nodejs gemäß dieser Antwort auf meinem Entwicklungscomputer installiert und therubyracer aus meiner Gemfile entfernt. Siehe auch stackoverflow.com/questions/7092107/….
– Mark Berry
17. Januar 12 um 1:58 Uhr
@dwaynemac Ich bin anderer Meinung. Ich möchte lieber, dass die Laufzeit als Betriebssystembibliothek existiert (wie bei Mac und Windows standardmäßig), anstatt der Abhängigkeitsliste ein weiteres Juwel hinzuzufügen.
– William Dennis
2. Februar 12 um 14:13 Uhr
Es scheint, dass therubyracer und execjs Probleme mit der Heroku-Bereitstellung verursachen, es sei denn, es wurde etwas anderes geändert, das ich übersehen habe. Dies ist die bevorzugte Lösung.
– Sturm
14. März 13 um 22:35 Uhr
Vincent jacquel
Einfach hinzufügen ExecJS und das Rubin-Racer in Ihre gem-Datei und führen Sie sie aus bundle install nach.
gem 'execjs'
gem 'therubyracer'
Danach sollte alles in Ordnung sein.
Dies funktionierte für mich, Schienen 3.1rc4 und Ubuntu 11.04 (mein erster Versuch mit Schienen 3.1). Ich habe versucht, ein Gerüst zu generieren, als ich den Fehler bekam. Immer noch ziemlich lahm, dass Rails 3.1 out of the box “kaputt” ist.
– Wunderschön
24. Juni 11 um 21:00 Uhr
Für Rails 3.1 RC 6 müssen Sie nur angeben gem 'therubyracer'
– Amri
18. August 11 um 9:07 Uhr
Gibt es eine Möglichkeit, diese Gems in die Standard-Gemfile aufzunehmen, wenn eine neue Anwendung erstellt wird?
– Richard Fawcett
25. September 11 um 16:16 Uhr
Dies ist eine bessere Lösung als die Installation von node.js. Wenn Sie auf einem Remote-Server bereitstellen oder die App mit anderen Entwicklern teilen, ist es viel schmerzhafter, alle node.js installieren zu lassen, als nur die Bundle-Installation auszuführen, was sie sowieso tun würden.
– jdkealy
29. Oktober 11 um 12:34 Uhr
Heroku ist jetzt stark entmutigend therubyracer wegen Speicherverbrauch. Ich habe nodejs auf meinem Entwicklungscomputer installiert (github.com/joyent/node/wiki/…) und nahm therubyracer aus meiner Gemfile. Siehe auch stackoverflow.com/questions/7092107/….
– Mark Berry
17. Januar 12 um 1:56 Uhr
manisch nautisch
Schreiben Sie in Ihre Gem-Datei
gem 'execjs'
gem 'therubyracer'
und dann laufen
bundle install
Bei mir funktioniert alles einwandfrei 🙂
Sie müssen ‘execjs’ nicht hinzufügen
– miguelSantirso
21. Februar 12 um 17:53 Uhr
Ja, du hast Recht in Rails 3.2.1, du musst nur gem’therubyracer’ verwenden
– männlich nautisch
22. Februar 12 um 10:47 Uhr
Danke @manish nautiyal und @Peter Mortensen. Für mich geht das
– Ravindra
2. August 13 um 13:33 Uhr
jwfear
Ich hatte ein ähnliches Problem: Meine Rails 3.1-App funktionierte unter Windows einwandfrei, bekam aber den gleichen Fehler wie das OP, wenn sie unter Linux ausgeführt wurde. Der Fix, der auf beiden Plattformen für mich funktionierte, bestand darin, Folgendes zu meiner hinzuzufügen Gemfile:
gem 'therubyracer', :platforms => :ruby
Der Trick ist, das zu wissen :platforms => :ruby eigentlich bedeutet Verwenden Sie dieses Juwel nur mit “C Ruby (MRI) oder Rubinius, aber NICHT Windows.”
Andere mögliche Werte für :platforms sind darin beschrieben das bundler Manpage.
FYI: Windows hat eine eingebaute JavaScript-Engine, die execjs orten kann. Unter Linux gibt es kein eingebautes, obwohl mehrere verfügbar sind, die man installieren kann. therubyracer Ist einer von ihnen. Andere sind in der aufgeführt execjsREADME.md.
JDutil
Das Hinzufügen des folgenden Edelsteins zu meiner Gemfile löste das Problem:
gem 'therubyracer'
Bündeln Sie dann Ihre neuen Abhängigkeiten:
$ bundle install
fügen Sie auch gem ‘execjs’ in Gemfile hinzu
– Bijendra
14. Dezember 11 um 14:47 Uhr
execjs ist jetzt schon bei Rails enthalten. Es wurde nur auch während der Release Candidates benötigt.
– JDutil
14. Dezember 11 um 23:09 Uhr
moschops
Eine alternative Möglichkeit besteht darin, einfach ohne die Edelsteingruppe zu bündeln, die die Dinge enthält, die Sie nicht haben.
Dann mach’s:
bundle install --without assets
Sie müssen die Gemfile überhaupt nicht ändern, vorausgesetzt natürlich, Sie machen keine Asset-Chain-Sachen – was normalerweise in Nicht-Entwicklungsumgebungen zutrifft. Bundle merkt sich Ihre Einstellung „–ohne“ in der Datei .bundle/config.
fügen Sie auch gem ‘execjs’ in Gemfile hinzu
– Bijendra
14. Dezember 11 um 14:47 Uhr
execjs ist jetzt schon bei Rails enthalten. Es wurde nur auch während der Release Candidates benötigt.
– JDutil
14. Dezember 11 um 23:09 Uhr
Ramiz Raja
Fügen Sie Ihrer Edelsteindatei folgende Edelsteine hinzu
gem 'therubyracer'
gem 'execjs'
und Renn
bundle install
du bist fertig 🙂
.
7846800cookie-checkExecJS und konnte keine JavaScript-Laufzeitumgebung findenyes
Übrigens – ich benutze Ubuntu Karmic.
– srboisvert
8. Juni 11 um 18:21 Uhr
Sie sollten wirklich in Betracht ziehen, die Antwort zu ändern. Die Antwort von Node.js ist nicht annähernd so gut wie die von execjs/rubyracer.
– Sean Dunford
2. Februar 13 um 4:43 Uhr
Der Rubyracer hat andere Probleme damit. Heroku empfiehlt nicht mehr, es in Ihre Gemfile aufzunehmen, wenn Sie es vermeiden können. devcenter.heroku.com/articles/rails-asset-pipeline#therubyracer Ich denke, dass die Installation einer geeigneten Javascript-Laufzeitumgebung auf Ubuntu die richtige Antwort auf diese Frage ist.
– M. Scott Ford
27. März ’13 um 16:00 Uhr