409 votes

ExecJS et ne pouvait pas trouver un runtime JavaScript

Je suis en train d'utiliser le Mongoid / Concevoir des Rails 3.1 modèle (Mongoid et Concevoir), et je reçois un message d'erreur indiquant ExecJS ne peut pas trouver un runtime JavaScript. Assez juste quand je n'ai pas installé, mais j'ai essayé d'installer Node.js, Mustang et le Ruby Racer, mais rien ne fonctionne.

Je ne pouvais pas trouver un runtime JavaScript. Voir sstephenson/ExecJS (GitHub) pour une liste de temps de fonctionnement (ExecJS::RuntimeUnavailable).

Que dois-je faire pour le faire fonctionner?

445voto

vincent jacquel Points 4456

Juste ajouter ExecJS et le Ruby Racer dans votre gem fichier et de l'exécuter bundle install après.

gem 'execjs'

gem 'therubyracer'

Tout devrait bien se passer après.

440voto

eldewall Points 3096

Les Utilisateurs D'Ubuntu

Je suis sur Ubuntu 11.04 et eu des problèmes similaires. L'installation Node.js il fixe.

Comme d'Ubuntu 13.04 x64, vous n'aurez qu'à exécuter:

sudo apt-get install nodejs

Cela permettra de résoudre le problème.


CentOS/RedHat Utilisateurs

sudo yum install nodejs

77voto

manish nautiyal Points 1274

Dans votre Joyau de fichier, écrire

gem 'execjs'
gem 'therubyracer'

et puis exécutez

bundle install

Tout fonctionne bien pour moi :)

48voto

jwfearn Points 8813

J'ai eu un problème similaire: mon Rails 3.1 application fonctionne bien sur Windows, mais a obtenu la même erreur que les OP lors de l'exécution sur Linux. Le correctif qui a fonctionné pour moi sur les deux plates-formes a été d'ajouter ce qui suit à mon Gemfile:

gem 'therubyracer', :platforms => :ruby

L'astuce est de savoir qu' :platforms => :ruby signifie, en réalité, n'utilisez ce joyau "C Ruby (IRM) ou Rubinius, mais PAS Windows."

Les autres valeurs possibles pour :platforms sont décrites dans l' bundler page de man.

Pour info: Windows dispose d'un builtin moteur JavaScript qui execjs pouvez localiser. Sur Linux il n'y a pas un builtin bien qu'il existe plusieurs disponibles que l'on peut installer. therubyracer est l'un d'entre eux. D'autres personnes sont énumérés dans l' execjs fichier README.md.

36voto

JDutil Points 2501

Adjonction bijou à mon Gemfile résolu le problème:

gem 'therubyracer'

Puis grouper vos nouvelles dépendances:

$ bundle install

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X